Asterisk + Alcatel OmniPCX via SIP

616 views
Skip to first unread message

karasho

unread,
Sep 2, 2009, 7:44:46 AM9/2/09
to asterisk-es
Hola,

He visto por ahí algunos topics más o menos antiguos sobre la OmniPCX
y en ninguno he visto una solución a esto (espero que eso no quiera
decir que no la hay...). Yo estoy ahora mismo con problemas enlazando
por SIP una OmniPCX (creo que es la v9.0) y un Asterisk. La verdad es
que el problema que nos está dando es bastante "raro" para mi
entender. A ver si puedo explicarlo más o menos y a alguien se le
ocurre algo.
Las llamadas entran desde la calle a la OmniPCX, y para un
departamento en concreto, las redirige al Asterisk; el Asterisk
gestiona un grupo con varias extensiones, algunas de ellas extensiones
SIP que cuelgan directamente del Asterisk, y otras que cuelgan de la
OmniPCX. Cuando es una de estas últimas la que contesta, todo va bien
hasta que intenta transferir una llamada (a otra extensión de la
Alcatel). En ese momento la llamada se corta.
Hemos probado varias cosas, relacionadas con la gestión del tráfico
RTP (canreinvite, directrtpsetup) y con la gestión de las
transferencias (promiscredir) y no hemos conseguido nada.
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.
¿Alguien ha podido integrar estos dos sistemas sin problemas o tiene
alguna idea de por donde puedo mirar?

Gracias

Jose R. Sáez

Raúl Alexis Betancor Santana

unread,
Sep 2, 2009, 12:53:49 PM9/2/09
to aster...@googlegroups.com
On Wednesday 02 September 2009 12:44:46 karasho wrote:
> Hola,
>
> He visto por ahí algunos topics más o menos antiguos sobre la OmniPCX
> y en ninguno he visto una solución a esto (espero que eso no quiera
> decir que no la hay...). Yo estoy ahora mismo con problemas enlazando
> por SIP una OmniPCX (creo que es la v9.0) y un Asterisk. La verdad es
> que el problema que nos está dando es bastante "raro" para mi
> entender. A ver si puedo explicarlo más o menos y a alguien se le
> ocurre algo.
> Las llamadas entran desde la calle a la OmniPCX, y para un
> departamento en concreto, las redirige al Asterisk; el Asterisk
> gestiona un grupo con varias extensiones, algunas de ellas extensiones
> SIP que cuelgan directamente del Asterisk, y otras que cuelgan de la
> OmniPCX. Cuando es una de estas últimas la que contesta, todo va bien
> hasta que intenta transferir una llamada (a otra extensión de la
> Alcatel). En ese momento la llamada se corta.
> Hemos probado varias cosas, relacionadas con la gestión del tráfico
> RTP (canreinvite, directrtpsetup) y con la gestión de las
> transferencias (promiscredir) y no hemos conseguido nada.

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

karasho

unread,
Sep 3, 2009, 5:15:26 AM9/3/09
to asterisk-es
Si la traza la he hecho, pero no veo nada "raro", pero tampoco es que
sea mi fuerte el debug del protocolo SIP, voy a ver si puedo hacer
otra traza y la pego aquí.

On 2 sep, 18:53, Raúl Alexis Betancor Santana <r...@dimension-

karasho

unread,
Sep 3, 2009, 6:08:11 AM9/3/09
to asterisk-es
Buenas,

Como la traza es muy larga la dejo compartida en Google Docs:
la traza: http://docs.google.com/Doc?docid=0Aa3MoDeJdvX0ZGM0cDl3d2tfMTdneGRnYjk2Zw&hl=en
el sip.conf: http://docs.google.com/Doc?docid=0Aa3MoDeJdvX0ZGM0cDl3d2tfMThucTlzczRneg&hl=en

La traza de la llamada es la siguiente:

Yo llamo al cabecera y la omniPCX la desvía a la 69110, que se
corresponde con el Asterisk.
El asterisk lleva esa llamada a una cola y la pasa al miembro 88998
(member=> SIP/88998@TRUNKSIP), que es una extensión de la omniPCX.
La 88998 atiende e intenta transferir a la 88997 (también de la
OmniPCX). Ahí es cuando la llamada se cae.

A ver si alguien ve algo raro. Muchas gracias

karasho

unread,
Sep 4, 2009, 7:01:17 AM9/4/09
to asterisk-es
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?

On 3 sep, 12:08, karasho <kara...@gmail.com> wrote:
> Buenas,
>
> Como la traza es muy larga la dejo compartida en Google Docs:
> la traza:http://docs.google.com/Doc?docid=0Aa3MoDeJdvX0ZGM0cDl3d2tfMTdneGRnYjk...
> el sip.conf:http://docs.google.com/Doc?docid=0Aa3MoDeJdvX0ZGM0cDl3d2tfMThucTlzczR...

Santiago Gimeno Valer

unread,
Sep 4, 2009, 7:45:17 AM9/4/09
to aster...@googlegroups.com
Hola,

> 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
----------------------------------------------

Raúl Alexis Betancor Santana

unread,
Sep 4, 2009, 9:22:25 AM9/4/09
to aster...@googlegroups.com
On Friday 04 September 2009 12:45:17 Santiago Gimeno Valer wrote:
> Hola,
>
> > 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.)

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

Odicha

unread,
Sep 4, 2009, 10:05:57 AM9/4/09
to aster...@googlegroups.com
Quita los sip de la OmniPCX y terminas antes (pena por lo que te habrán
cobrado...)

--------------------------------------------------
From: "Raúl Alexis Betancor Santana" <ra...@dimension-virtual.com>
Sent: Friday, September 04, 2009 2:22 PM
To: <aster...@googlegroups.com>
Subject: [Asterisk-ES] Re: Asterisk + Alcatel OmniPCX via SIP

Santiago Gimeno Valer

unread,
Sep 4, 2009, 10:54:31 AM9/4/09
to aster...@googlegroups.com

Hola Raúl,

> 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,

Raúl Alexis Betancor Santana

unread,
Sep 4, 2009, 2:36:09 PM9/4/09
to aster...@googlegroups.com
On Friday 04 September 2009 15:54:31 Santiago Gimeno Valer wrote:
> Hola Raúl,
>
> > 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.

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.

"Jose R. Sáez López"

unread,
Sep 7, 2009, 3:27:45 AM9/7/09
to aster...@googlegroups.com
Gracias por las respuestas; voy a probar lo del domain, para comprobar
si realmente tiene alguna influencia o no (porque veo que hay
partidarios y retractores) y os cuento.

Saludos

"Jose R. Sáez López"

unread,
Sep 7, 2009, 8:02:18 AM9/7/09
to aster...@googlegroups.com
Hola,

He probado a fijar el dominio y nada, sigue cayéndose la llamada al
intentar la transferencia.

On 04/09/2009, at 20:36, Raúl Alexis Betancor Santana wrote:

>

Saúl Ibarra

unread,
Sep 7, 2009, 9:37:35 AM9/7/09
to aster...@googlegroups.com
Aupa,

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

Iñaki Baz Castillo

unread,
Sep 7, 2009, 9:42:27 AM9/7/09
to aster...@googlegroups.com
El Monday 07 September 2009 15:37:35 Saúl Ibarra escribió:
> He seguido el hilo un poco en diagonal, pero... has probado a poner esto a
> yes?
> ;promiscredir = no


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>

"Jose R. Sáez López"

unread,
Sep 7, 2009, 10:06:49 AM9/7/09
to aster...@googlegroups.com
Sí, es una de las primeras cosas que probé.

Saúl Ibarra

unread,
Sep 7, 2009, 10:12:02 AM9/7/09
to aster...@googlegroups.com
Pero para este caso? No me suena que usara interfaces virtuales...

Iñaki Baz Castillo

unread,
Sep 7, 2009, 11:14:47 AM9/7/09
to aster...@googlegroups.com
El Monday 07 September 2009 16:12:02 Saúl Ibarra escribió:
> Pero para este caso? No me suena que usara interfaces virtuales...

No, pero tampoco se lo iba a arreglar.

Raúl Alexis Betancor Santana

unread,
Sep 8, 2009, 7:11:54 AM9/8/09
to aster...@googlegroups.com
On Monday 07 September 2009 16:14:47 Iñaki Baz Castillo wrote:
> El Monday 07 September 2009 16:12:02 Saúl Ibarra escribió:
> > Pero para este caso? No me suena que usara interfaces virtuales...
>
> 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 ...

"Jose R. Sáez López"

unread,
Sep 8, 2009, 7:26:24 AM9/8/09
to aster...@googlegroups.com
Uf, la verdad es que ya no daba un duro por conseguirlo. A ver si con
el mantenedor de la Alcatel consigo lo de hacer que el RTP se quede en
la Alcatel, y si no... pues no sé, a ver si conseguimos que las
transferencias las haga la Alcatel directamente, aunque se mantengan
en Asterisk los dos canales abiertos (ida y vuelta) todo el tiempo.

Muchas gracias a todos por vuestra ayuda.
Reply all
Reply to author
Forward
0 new messages