Problema autenticación SIP ¿sirve de algo "authuser"?

201 views
Skip to first unread message

Iñaki Baz Castillo

unread,
Jun 26, 2007, 7:53:48 AM6/26/07
to aster...@googlegroups.com
Hola, estoy tratando de integrar Asterisk con OpenSer, de momento me interesa
que los usuarios SIP sólo existan en OpenSer y no en Asterisk (el tema ese de
la base de datos replicada o diferentes vistas para que Astersk y OpenSer
compartan usuarios me parece una aberración).

De momento he conseguido lo que quería pero con un "pero".

En OpenSer existe un usuario "asterisk", y Asterisk se registra con dicho
usuario en OpenSer. Ahora desde un usuario de OpenSer puedo llamar
a "asterisk" y desde un usuario de Asterisk puedo llamar a otro de OpenSer.

Recalco que no requiero autenticación en Asterisk para las llamadas desde
OpenSer (insecure=invite) pero sí requiero autenticación en OpenSer para las
llamadas desde Asterisk.


Este es mi sip.conf:

----------------------------------------
register => asterisk:******@openser.dominio.org

[openser]
type=peer
username=asterisk
fromuser=asterisk ; Usuario que aparecerá en las llamadas salientes. Si no
ponemos esto se pasa el From de cada teléfono y no autentica por el
check_from() del OpenSer.
secret=******
context=desde-openser
host=openser.dominio.org
qualify=yes
insecure=invite ; No pedimos autenticación para llamar (así no hay que
duplicar usuarios en OpenSer y Asterisk, usuarios sólo en OpenSer).
----------------------------------------

El problema es que en las llamadas entrantes desde OpenSer el usuario que
llama es:

SIP/asterisk-b5d31XXX

Entonces trato de forzar el nombre del usuario en las entrantes desde OpenSer:
username=openser

Y entonces funciona para las entrantes, es decir, cuando llamo desde OpenSer a
Asterisk veo:

SIP/openser-b5d2XXX

El problema enorme es que entonces no puedo hacer salientes puesto que se
intenta autenticar con "openser" en OpenSer, cuando el usuario se
llama "asterisk".

Entonces pruebo con el parámetro "authuser" y lo dejo así:

[openser]
type=peer
username=openser ; Nombre para el usuario en entrantes.
authuser=asterisk ; Usuario para autenticación en salientes.
fromuser=asterisk

Y sencillamente hace lo mismo, mi conclusión es que "authuser" no hace NADA.


¿Cómo podría forzar a que el usuario OpenSer en las entrantes figurase
como "openser" pero que en las salientes se autenticase en OpenSer
como "asterisk"?


PD: Ya he probado a no usar "friend" y usar separados "user" y "peer". Es una
guarrada, además, ahora resulta que un "peer" sí que puede hacer llamadas a
Asterisk, así que es un cristo que me niego a revolver, un "friend" y listo.
XD


Gracias.


--
Iñaki Baz Castillo
i...@in.ilimit.es

Iñaki Baz Castillo

unread,
Jun 26, 2007, 8:02:13 AM6/26/07
to aster...@googlegroups.com
El Tuesday 26 June 2007 13:53:48 Iñaki Baz Castillo escribió:
> El problema enorme es que entonces no puedo hacer salientes puesto que se
> intenta autenticar con "openser" en OpenSer, cuando el usuario se
> llama "asterisk".
>
> Entonces pruebo con el parámetro "authuser" y lo dejo así:
>
> [openser]
> type=peer
> username=openser ; Nombre para el usuario en entrantes.
> authuser=asterisk ; Usuario para autenticación en salientes.
> fromuser=asterisk
>
> Y sencillamente hace lo mismo, mi conclusión es que "authuser" no hace
> NADA.

También he probado con:

auth=asterisk:*****@openser.dominio.org
username=openser
fromuser=asterisk
secret=******

y lo mismo. Parece que se intenta autenticar con "openser" en OpenSer en vez
de con "asterisk".

Iñaki Baz Castillo

unread,
Jun 26, 2007, 8:07:37 AM6/26/07
to aster...@googlegroups.com

Pues creo que me rindo por la definición de "username":

"If Asterisk is acting as a SIP client to a remote SIP server that requires
SIP INVITE authentication, then this field is used to authenticate SIP
INVITEs that Asterisk sends to the remote SIP server. Also, for peers that
register with Asterisk, this username is used in INVITEs until we have a
registration."

Y claro, como ni OpenSer ni sus usuarios se registran en Asterisk el
identificador que veré será necesariamente "username" ("asterisk"), y no
podré cambiarlo porque entonces en los INVITE's de Asterisk a OpenSer dará
error de autenticación.

Reply all
Reply to author
Forward
0 new messages