Haz una traza a nivel SIP y enseguida verás porque no funciona.
> Lo mejor de todo es que antes, en lugar de la OmniPCX había otra
> central (creo que era una Ericsson) y no teníamos ningún problema.
¿Ericsson con soporte SIP?, la riñonada que habrá costado ... ya la OmniPCX es
un atraco a mano armada.
> ¿Alguien ha podido integrar estos dos sistemas sin problemas o tiene
> alguna idea de por donde puedo mirar?
Se puede, se puede ... pero cuesta bastantes sudores.
--
Raúl Alexis Betancor Santana
Dimensión Virtual
> Lo que entiendo yo (que me corrija alguien si me equivoco),
> la OmniPC envía un REFER a Asterisk y espera que sea éste el
> que transfiera la llamada a la otra extensión. Por lo que he
> visto en www.voip-info.org, aun usando promiscredir, Asterisk
> intentaría pasar la llamada a su extensión local que
> corresponda con el REFER que recibe, no a la extensión de la
> OmniPCX; es decir, que en este caso la OmniPCX le pide a
> Asterisk que transfiera a la 88997 y Asterisk lo que hace es
> pasar la llamada a SU extensión 88997. Si esto es así no creo
> que se pueda solucionar, ¿no?
>
Creo que eso no es siempre así. Asterisk intentará transferir a una extensión suya si esa transferencia es a una extensión en el dominio que tienes configurado en sip.conf (parámetro domain) o si domain no esta configurado. Así que te recomendaría que configurases ese parámetro a un valor diferente al de los dominios a los que quieres transferir. En este caso, Asterisk intentará sacar esa llamada. (Te recomiendo que hagas un set de la variable TRANSFER_CONTEXT para que fijes el contexto por el que quieres que salga esa llamada.)
De todas maneras estaría bien que en la traza que mandaste pusieses el nivel de debug a 4 para ver con más detalle qué está pasando.
Un saludo
Santiago Gimeno Valer
----------------------------------------------
BARIK -Grupo Ormazábal-
Departamento Técnico
Tel.: +34 91 747 9900
www.barik.es
----------------------------------------------
Estimado Santiago ... siento informarte de que Asterisk no soporta
multidominios, osea ... que pongas o no el parámetro domain en el sip.conf es
meramente estético
> Estimado Santiago ... siento informarte de que Asterisk no
> soporta multidominios, osea ... que pongas o no el parámetro
> domain en el sip.conf es meramente estético
>
Completamente de acuerdo en que no tiene soporte multidominio, pero no del todo en lo segundo. En la función handle_request_refer en chan_sip.c está este código que chequea los dominios configurados en sip.conf para decidir si una transferencia es local o remota y trata entonces de manera algo diferente las transferencias.
/* If we do not support SIP domains, all transfers are local */
if (allow_external_domains && check_sip_domain(p->refer->refer_to_domain, NULL, 0)) {
p->refer->localtransfer = 1;
if (sipdebug && option_debug > 2)
ast_log(LOG_DEBUG, "This SIP transfer is local : %s\n", p->refer->refer_to_domain);
} else if (AST_LIST_EMPTY(&domain_list) || check_sip_domain(p->refer->refer_to_domain, NULL, 0)) {
/* This PBX doesn't bother with SIP domains or domain is local, so this transfer is local */
p->refer->localtransfer = 1;
} else if (sipdebug && option_debug > 2)
ast_log(LOG_DEBUG, "This SIP transfer is to a remote SIP extension (remote domain %s)\n", p->refer->refer_to_domain);
De hecho por alguna razón que desconozco ciertas transferencias atendidas no me funcionan correctamente si dejo el domain vacio.
Un saludo,
Que haya código no quiere decir que sirva para algo ... de echo es lo que hace
fallen extrepisomanete las transferencias atendidas con ciertos modelos de
teléfonos IP.
> /* If we do not support SIP domains, all transfers are local */
> if (allow_external_domains &&
> check_sip_domain(p->refer->refer_to_domain, NULL, 0)) {
> p->refer->localtransfer = 1;
> if (sipdebug && option_debug > 2)
> ast_log(LOG_DEBUG, "This SIP transfer is local :
> %s\n", p->refer->refer_to_domain); } else if (AST_LIST_EMPTY(&domain_list)
> || check_sip_domain(p->refer->refer_to_domain, NULL, 0)) { /* This PBX
> doesn't bother with SIP domains or domain is local, so this transfer is
> local */ p->refer->localtransfer = 1;
> } else if (sipdebug && option_debug > 2)
> ast_log(LOG_DEBUG, "This SIP transfer is to a
> remote SIP extension (remote domain %s)\n", p->refer->refer_to_domain);
Esto solo vale para que asterisk decida si intenta hacer un REFER (que
fallará) o si la transferencia la hace cambiando el bridge del RTP (cuando
está en modo no-directrtp)
> De hecho por alguna razón que desconozco ciertas transferencias atendidas
> no me funcionan correctamente si dejo el domain vacio.
Porque lo intenta con un REFEER y la casca miserablemente.
He seguido el hilo un poco en diagonal, pero... has probado a poner esto a yes?
;promiscredir = no ; If yes, allows 302 or REDIR to
non-local SIP address
; Note that promiscredir when
redirects are made to the
; local system will cause loops since
Asterisk is incapable
; of performing a "hairpin" call.
En el general del sip.conf.
--
/Saúl
http://www.saghul.net | http://www.sipdoc.net
no noooo, nunca!!!
En caso de tener un interfaz virtual como bindaddress en sip.conf supone que
las transferencias fallarán si tienes "promiscredir = yes" ya que Asterisk se
hace un cacao con la IP que le lee en el "Contact" y piensa que no es suya
(aunque sea la que tiene puesta en "bindaddress", entonces asume que se trata
de un dominio externo y envía allí el INVITE en vez de comérselo
internamente. Y por supuesto falla.
--
Iñaki Baz Castillo
<ib...@xtratelecom.es>
No, pero tampoco se lo iba a arreglar.
No va conseguir que funcione el escenario que pretende por 2 básicos motivos:
a) Asterisk es un B2BUA, lo que significa que cuando Asterisk "llama", a la
extensión de la Alcatel, genera una nueva llamada completa, con su dialogo y
toda la pesca. Y cuando se solicita el transfer, no es posible, se trata de
un diálogo completamente nuevo y os garantizo que Asterisk no lo procesa
bien. (la transfer de este tipo)
b) La otra forma de "conseguir", ese transfer es dejar a Asterisk en el
SIP-Path he intentar que el RTP no pase por el Asterisk, sino que lo gestione
la Alcatel. Conseguir que esta configuración funcione requiere de par de
horas largar de trabajo con la Alcatel y el Asterisk, lo juro ... que me lo
he tenido que tragar en más de un sitio y no es un config sencilla, al
contrario, tiene mucha miga, dependiendo de las "tecnologías" que maneje la
PBX Alcatel (H.323 para los terminales, SIP para las troncales, BRI/PRI,
Extensiones propietarias o analógicas ... ) ... buff .. es que me dan sudores
fríos de recordarlo ...