Hola,
tengo montado el siguiente escenario:
pjsua1 ----- openser1 ----- asterisk ---- openser2 ----- pjsua2
En pjsua1 tengo una cuenta registrada en opensip1: juan(a)192.168.1.54
En pjsua2 tengo una cuenta registrada en opensip2: pepe(a)192.168.2.56
Entre cada openser y asterisk tengo creada una troncal SIP: troncal1 para
openser1 y troncal2 para openser2.
Y los ficheros de configuración de asterisk los tengo así:
sip.conf
[general]
#Registro ante openser
register=>troncal1:troncal1@192.168.1.54/troncal1
register=>troncal2:troncal2@192.168.2.56/troncal2
#Extensión que funciona como troncal SIP
[troncal1]
type=friend
secret=troncal1
username=troncal1
password=troncal1
fromuser=troncal1
fromdomain=192.168.1.54
host=192.168.1.54
context=from-openser
insecure=invite
[troncal2]
type=friend
secret=troncal2
username=troncal2
password=troncal2
fromuser=troncal2
fromdomain=192.168.2.56
host=192.168.2.56
context=from-openser
insecure=invite
#Usuarios registrados en openser
[pepe]
username=pepe
host=192.168.2.56
qualify=no
context=from-openser
[juan]
username=juan
host=192.168.1.54
qualify=no
context=from-openser
extensions.conf
[from-openser]
exten=>troncal1,1,Dial(SIP/troncal1)
exten=>troncal2,1,Dial(SIP/troncal2)
exten=>pepe,1,Dial(SIP/pepe(a)192.168.2.56,30,Ttm)
exten=>pepe,2,Hangup
exten=>juan,1,Dial(SIP/juan(a)192.168.1.54,30,Ttm)
exten=>juan,2,Hangup
El problema que tengo es que las llamadas o funcionan de pjsua1 a pjsua2 o
de pjsua2 a pjsua1, y el sentido en el que funcionan depende de que openser
arranco primero. Si es el openser2 van de pjsua2 a pjsua1 y si es el
openser1 es de pjsua1 a pjsua2. Yo quiero que las llamadas funcionen en los
dos sentidos sin problemas.
Viendo el fichero de log de asterisk en ambos sentidos y comparándolo veo
las siguientes diferencias:
Llamada OK:
logger.c: No user 'pepe' in SIP users list
logger.c: Found peer for 'troncal2' from '192.168.2.56:5060'
logger.c: Looking for juan in from_openser (domain 192.168.1.54)
Llamada fallida:
logger.c: No user 'juan' in SIP users list
logger.c: No matching peer for 'juan' from '192.168.1.54:1053'
logger.c: Looking for pepe in default (domain 192.168.2.56)
De lo que deduzco que no detecta bien la troncal1, aunque al hacer sip show
registry en asterisk aparece correctamente registrada, y que como busca al
usuario 'pepe' en el contexto default y este no aparece, por eso devuelve el
mensaje '404 Not Found'.
He hecho el siguiente cambio para ver si funcionaba:
Añadir en extensions.conf
[default]
include => from_openser
Entonces la llamada ya funciona en los dos sentidos porque en default si que
aparece el usuario buscado. Sin embargo esta solución no me parece la
adecuada, y lo que interesa es que detecte correctamente las dos troncales
para que funcione sin problemas en los dos sentidos, y a los usuarios los
busque en el contexto adecuado y no en default. El problema es que no sé
como hacerlo, si alguien me puede ayudar se lo agradezco de antemano.
--
View this message in context:
http://www.nabble.com/Llamadas-de-openser-a-asterisk-solo-funcionan-en-un-s…
Sent from the OpenSER Users - ES mailing list archive at
Nabble.com.