Estoy haciendo las pruebas con NAT y estoy con alguna dificultad,
detallo
procedimiento de invite para NAT.
if (is_method("INVITE")) {
if(nat_uac_test("19"))
{
fix_nated_contact();
setbflag(6);
rewritehostport("192.168.0.7:5060");
t_relay();
}
>----Mensaje original----
>De: andresdb(a)adinet.com.uy
>Fecha: 15/01/2008 17:01
>Para: <users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>Les pido disculpas, es que estoy con un web mail.
>
>Saludos,
>
>>----Mensaje original----
>>De: ibc(a)aliax.net
>>Fecha: 15/01/2008 16:03
>>Para: <users-es(a)lists.openser.org>
>>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
>openser a Asterisk
>>
>>Andrés, ninguno de tus correos cuelga del hilo correspondiente, ¿ya
>pulsas
>>en "Responder" cuando respondes a un correo de la lista? es que los
>veo todos
>>como si fuesen nuevos hilos y es imposible seguir el hilo (nunca
>mejor
>>dicho).
>>
>>Entiendo que no pulsas "Responder" ya que no veo la cabecera "In-
>Reply-To" en
>>tus correos, por mucho "Re:" que ponga delante del asunto.
>>
>>¿Qué cliente de correo usas?
>>
>>
>>--
>>Iñaki Baz Castillo
>>
>>_______________________________________________
>>Users-es mailing list
>>Users-es(a)lists.openser.org
>>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>>
>
>
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Les pido disculpas, es que estoy con un web mail.
Saludos,
>----Mensaje original----
>De: ibc(a)aliax.net
>Fecha: 15/01/2008 16:03
>Para: <users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>Andrés, ninguno de tus correos cuelga del hilo correspondiente, ¿ya
pulsas
>en "Responder" cuando respondes a un correo de la lista? es que los
veo todos
>como si fuesen nuevos hilos y es imposible seguir el hilo (nunca
mejor
>dicho).
>
>Entiendo que no pulsas "Responder" ya que no veo la cabecera "In-
Reply-To" en
>tus correos, por mucho "Re:" que ponga delante del asunto.
>
>¿Qué cliente de correo usas?
>
>
>--
>Iñaki Baz Castillo
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Por lo que veo en los logs nunca le llega un paquete al asterisk que
este en la lan, SER no sabe hacer llegar un paquete desde la ip PUBLICA
a la ip PRIVADA de la lan de asterisk.
Saludos,
>----Mensaje original----
>De: ibc(a)in.ilimit.es
>Fecha: 15/01/2008 14:50
>Para: <users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>On Tuesday 15 January 2008 18:33:25 andresdb(a)adinet.com.uy wrote:
>> Revisando con tcpdump desde el asterisk nunca le llega un paquete,
no
>> sabe rutear
>> desde la ip publica a la privada,
>
>¿Tal vez querías decir justo lo contrario? O sea:
>"asterisk no sabe rutar de la privada a la pública"
>¿es así? confírmalo ya que la diferencia es importante.
>
>
>--
>Iñaki Baz Castillo
>ibc(a)in.ilimit.es
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Hola Jesus,
Tu dices que si o si esto se soluciona con nathelper y rtpproxy,
porque el primer
paso que quiero dar es que por lo menos haga ringing sin llegar al
intercambio de rtp. Si no me equivoco el intercambio de RTP es cuando
se atiende la llamada correcto?
Saludos,
>----Mensaje original----
>De: jesusr(a)voztele.com
>Fecha: 15/01/2008 14:36
>Para: "Lista de usuarios de OpenSER"<users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>Hola,
>
>
>> On Tuesday 15 January 2008 17:36:32 andresdb(a)adinet.com.uy wrote:
>>> Adjunto output de ngrep.
>>
>>
>> Fíjate que cuando OpenSer envía el INVITE a Asterisk nunca recibe
>> respuesta y
>> lo reenvía una y otra vez:
>>
>> U 2008/01/15 14:43:54.789503 200.40.xxx.xxx:5060 -> 192.168.0.7:
5060
>> INVITE sip:751@192.168.0.7:5060 SIP/2.0
>> Record-Route: <sip:200.40.xxx.xxx;lr=on;ftag=426df431>
>> Via: SIP/2.0/UDP 200.40.xxx.xxx;branch=z9hG4bK7eaa.c54b1b32.0
>> Via: SIP/2.0/UDP
>> 190.132.174.235:19352;branch=z9hG4bK-d87543-ad46ba1a844e6f5e-1--
>> d87543-;rport=19352
>>
>>
>> - Lo relevante de ahí es que OpenSer tiene dos IP's, la pública y
la
>> privada.
>>
>> - OpenSer envía el INVITE a Asterisk por la eth privada pero
indica
>> en el Via
>> la IP pública (y el UAS receptor, Asterisk) debe responder a la
IP
>> en el Via.
>>
>> - Intuyo un conflicto de rutado. ¿Es la máquina OpenSer también
el
>> router y
>> puerta de enlace de los equipos de la LAN?
>
>
>Por lo que he visto en la configuración, no estás usando ni
nathelper
>ni rtpproxy y en este caso los necesitarás para que Openser pueda
>gestionar correctamente los dos interfaces.
>
>
>Saludos
>JesusR.
>
>------------------------------------
>Jesus Rodriguez
>VozTelecom Sistemas, S.L.
>jesusr(a)voztele.com
>http://www.voztele.com
>Tel. 902360305
>-------------------------------------
>
>
>
>
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Revisando con tcpdump desde el asterisk nunca le llega un paquete, no
sabe rutear
desde la ip publica a la privada, en este caso el INVITE desde openser
tendria
que ser desde la ip privada, por lo cual no se cual funcion utilizar
como lo indicas Iñaki. Desde el SER puedo llegar al Asterisk ip
192.168.0.7 con icmp.
La pc de SER tiene una ruta para poder llegar a la lan del Asterisk.
Estoy de acuerdo que la solución es que el invite sea por la ip
privada del SER,
si alguien se acuerda de cual es la función se agradece, voy a estar
leyendo documentación para ver si lo podemos sacar.
Alguien tiene esta topología armada, cual sería la recomendación en el
caso de
exponer un asterisk a Internet? lo que queremos es que nuestros
usuarios de asterisk puedan usar la PBX fuera de la oficina, la
solución mas segura que encontré es un proxy con openser.
Saludos,
>----Mensaje original----
>De: ibc(a)in.ilimit.es
>Fecha: 15/01/2008 14:10
>Para: <users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>On Tuesday 15 January 2008 17:36:32 andresdb(a)adinet.com.uy wrote:
>> Adjunto output de ngrep.
>
>
>Fíjate que cuando OpenSer envía el INVITE a Asterisk nunca recibe
respuesta y
>lo reenvía una y otra vez:
>
>U 2008/01/15 14:43:54.789503 200.40.xxx.xxx:5060 -> 192.168.0.7:5060
>INVITE sip:751@192.168.0.7:5060 SIP/2.0
>Record-Route: <sip:200.40.xxx.xxx;lr=on;ftag=426df431>
>Via: SIP/2.0/UDP 200.40.xxx.xxx;branch=z9hG4bK7eaa.c54b1b32.0
>Via: SIP/2.0/UDP
>190.132.174.235:19352;branch=z9hG4bK-d87543-ad46ba1a844e6f5e-1--
d87543-;rport=19352
>
>
>- Lo relevante de ahí es que OpenSer tiene dos IP's, la pública y la
privada.
>
>- OpenSer envía el INVITE a Asterisk por la eth privada pero indica
en el Via
>la IP pública (y el UAS receptor, Asterisk) debe responder a la IP en
el Via.
>
>- Intuyo un conflicto de rutado. ¿Es la máquina OpenSer también el
router y
>puerta de enlace de los equipos de la LAN?
>
>- También hay que ver cómo reacciona Asterisk porque o bien ni
siquiera
>responde o bien la respuesta es enviada pero no llega a la máquina
OpenSer de
>ninguna forma (no se ve en el ngrep). Para ello habilita el sip debug
en
>Asterisk:
> CLI>sip set debug on
> CLI>core set debug 4
> CLI>core set verbose 4
>y captura lo que ocurre en el INVITE fallido.
>
>- Por cierto, el peer de OpenSer en Asterisk, ¿está definido con
nat=yes?
>
>
>
>Creo que la solución es que OpenSer ponga en el Via la IP privada por
la que
>sale y creo que existe alguna función para ello, pero no sé ahora
cuál.
>
>
>
>
>--
>Iñaki Baz Castillo
>ibc(a)in.ilimit.es
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Adjunto output de ngrep.
Saludos,
>----Mensaje original----
>De: ibc(a)in.ilimit.es
>Fecha: 15/01/2008 13:23
>Para: <users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>On Tuesday 15 January 2008 16:49:58 andresdb(a)adinet.com.uy wrote:
>> Estimado,
>>
>> Correcto, desde un teléfono con ip publica me registro al ser que
esta
>> en una ip publica, el servidor ser tiene dos tarjetas de red una
para
>> la ip publica y otra para la lan que es donde este el asterisk, no
>> puedo llamar desde ese teléfono al asterisk no escucho el ringing,
si
>> me registro a la ip privada del ser(LAN) puedo llamar al asterisk,
se
>> escuha el ringing y puedo establecer una comunicación.
>
>
>- Limpia el escenario (apaga teléfonos, etc).
>
>- Instala "ngrep" en el OpenSer y ejecuta:
> ~# ngrep -d any -P ' ' -W byline -T -t "" port 5060 or port 5065
>(puedes volcarlo a un archivo tal vez)
>
>- Enciende el teléfono con IP pública (o sea, que se registre).
>
>- Haz la llamada que falla.
>
>- Y pega la salida del comando anterior con todo lo que ha capturado.
>
>
>
>--
>Iñaki Baz Castillo
>ibc(a)in.ilimit.es
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Va la captura,
Jan 15 14:29:24 [32215] DBG:core:parse_headers: flags=ffffffffffffffff
Jan 15 14:29:24 [32215] DBG:tm:t_newtran: transaction on
entrance=0xffffffff
Jan 15 14:29:24 [32215] DBG:core:parse_headers: flags=ffffffffffffffff
Jan 15 14:29:24 [32215] DBG:core:parse_headers: flags=78
Jan 15 14:29:24 [32215] DBG:tm:t_lookup_request: start searching:
hash=45439, isACK=0
Jan 15 14:29:24 [32215] DBG:tm:matching_3261: RFC3261 transaction
matching failed
Jan 15 14:29:24 [32215] DBG:tm:t_lookup_request: no transaction found
Jan 15 14:29:24 [32215] DBG:core:mk_proxy: doing DNS lookup...
Jan 15 14:29:24 [32215] DBG:core:check_via_address: params 190.132.174.
xxx, 190.132.174.xxx, 0
Jan 15 14:29:24 [32215] DBG:tm:set_timer: relative timeout is 500000
Jan 15 14:29:24 [32215] DBG:tm:insert_timer_unsafe: [4]: 0xb614313c
(98200000)
Jan 15 14:29:24 [32215] DBG:tm:set_timer: relative timeout is 30
Jan 15 14:29:24 [32215] DBG:tm:insert_timer_unsafe: [0]: 0xb6143158
(127)
Jan 15 14:29:24 [32215] DBG:tm:t_relay_to: new transaction fwd'ed
Jan 15 14:29:24 [32215] DBG:tm:t_unref: UNREF_UNSAFE: after is 0
Jan 15 14:29:24 [32215] DBG:core:destroy_avp_list: destroying list
(nil)
Jan 15 14:29:24 [32215] DBG:core:receive_msg: cleaning up
Jan 15 14:29:24 [32218] DBG:core:parse_msg: SIP Reply (status):
Jan 15 14:29:24 [32218] DBG:core:parse_msg: version: <SIP/2.0>
Jan 15 14:29:24 [32218] DBG:core:parse_msg: status: <489>
Jan 15 14:29:24 [32218] DBG:core:parse_msg: reason: <Event Package
Not Supported>
Jan 15 14:29:24 [32218] DBG:core:parse_headers: flags=2
Jan 15 14:29:24 [32218] DBG:core:parse_via_param: found param type
232, <branch> = <z9hG4bKf71b.f1369954.0>; state=16
Jan 15 14:29:24 [32218] DBG:core:parse_via: end of header reached,
state=5
Jan 15 14:29:24 [32218] DBG:core:parse_headers: via found, flags=2
Jan 15 14:29:24 [32218] DBG:core:parse_headers: this is the first via
Jan 15 14:29:24 [32218] DBG:core:receive_msg: After parse_msg...
Jan 15 14:29:24 [32218] DBG:core:forward_reply: found module tm,
passing reply to it
Jan 15 14:29:24 [32218] DBG:tm:t_check: start=0xffffffff
Jan 15 14:29:24 [32218] DBG:core:parse_headers: flags=22
Jan 15 14:29:24 [32218] DBG:core:parse_via_param: found param type
232, <branch> = <z9hG4bK-d87543-8d7344018518fb1b-1--d87543->; state=6
Jan 15 14:29:24 [32218] DBG:core:parse_via_param: found param type
235, <rport> = <64438>; state=16
Jan 15 14:29:24 [32218] DBG:core:parse_via: end of header reached,
state=5
Jan 15 14:29:24 [32218] DBG:core:parse_headers: via found, flags=22
Jan 15 14:29:24 [32218] DBG:core:parse_headers: parse_headers: this is
the second via
Jan 15 14:29:24 [32218] DBG:core:parse_to_param: tag=d81f7914
Jan 15 14:29:24 [32218] DBG:core:parse_to: end of header reached,
state=29
Jan 15 14:29:24 [32218] DBG:core:parse_to: display={"pruebas ser desde
adsl"}, ruri={sip:100%40netgate.com@200.40.xxx.xxx}
Jan 15 14:29:24 [32218] DBG:core:get_hdr_field: <To> [77]; uri=[sip:
100%40netgate.com(a)200.40.xxx.xxx]
Jan 15 14:29:24 [32218] DBG:core:get_hdr_field: to body ["pruebas ser
desde adsl"<sip:100%40netgate.com@200.40.xxx.xxx>]
Jan 15 14:29:24 [32218] DBG:core:get_hdr_field: cseq <CSeq>: <1>
<SUBSCRIBE>
Jan 15 14:29:24 [32218] DBG:tm:t_reply_matching: hash 45439 label
1167680287 branch 0
Jan 15 14:29:24 [32218] DBG:tm:t_reply_matching: REF_UNSAFE: after is
1
Jan 15 14:29:24 [32218] DBG:tm:t_reply_matching: reply matched
(T=0xb6142ff0)!
Jan 15 14:29:24 [32218] DBG:tm:t_check: end=0xb6142ff0
Jan 15 14:29:24 [32218] DBG:tm:reply_received: org. status uas=0, uac
[0]=0 local=0 is_invite=0)
Jan 15 14:29:24 [32218] DBG:tm:t_should_relay_response: T_code=0,
new_code=489
Jan 15 14:29:24 [32218] DBG:tm:t_pick_branch: picked branch 0, code
489
Jan 15 14:29:24 [32218] DBG:tm:is_3263_failure: dns-failover test:
branch=0, last_recv=489, flags=2
Jan 15 14:29:24 [32218] DBG:tm:relay_reply: branch=0, save=0, relay=0
Jan 15 14:29:24 [32218] DBG:core:build_res_buf_from_sip_res: old
size: 527, new size: 464
Jan 15 14:29:24 [32218] DBG:core:build_res_buf_from_sip_res: copied
size: orig:104, new: 41, rest: 423 msg=
SIP/2.0 489 Event Package Not Supported
Via: SIP/2.0/UDP 190.132.174.235:64438;branch=z9hG4bK-d87543-
8d7344018518fb1b-1--d87543-;rport=64438
To: "pruebas ser desde adsl"<sip:100%40netgate.com@200.40.xxx.xxx>;
tag=d81f7914
From: "pruebas ser desde adsl"<sip:100%40netgate.com@200.40.xxx.xxx>;
tag=3363de79
Call-ID: ac388b1869603b1bNDdmMWE3Mjk4MTgxZGY3N2I1ODJhNTQwZTE2OWJkMTU.
CSeq: 1 SUBSCRIBE
User-Agent: X-Lite release 1003l stamp 30942
Content-Length: 0
Jan 15 14:29:24 [32218] DBG:core:_shm_resize: resize(0) called
Jan 15 14:29:24 [32218] DBG:tm:insert_timer_unsafe: [2]: 0xb6143038
(102)
Jan 15 14:29:24 [32218] DBG:tm:relay_reply: sent buf=0x8185340: SIP/2.
0 4..., shmem=0xb6144f18: SIP/2.0 4
Jan 15 14:29:24 [32218] DBG:tm:cleanup_uac_timers: RETR/FR timers
reset
Jan 15 14:29:24 [32218] DBG:tm:t_unref: UNREF_UNSAFE: after is 0
Jan 15 14:29:24 [32218] DBG:core:destroy_avp_list: destroying list
(nil)
Jan 15 14:29:24 [32218] DBG:core:receive_msg: cleaning up
Jan 15 14:29:25 [32219] DBG:tm:utimer_routine: timer routine:4,
tl=0xb614313c next=(nil), timeout=98200000
Jan 15 14:29:28 [32219] DBG:tm:timer_routine: timer routine:2,
tl=0xb6143038 next=(nil), timeout=102
Jan 15 14:29:28 [32219] DBG:tm:wait_handler: removing 0xb6142ff0 from
table
Jan 15 14:29:28 [32219] DBG:tm:delete_cell: delete transaction
0xb6142ff0
Jan 15 14:29:28 [32219] DBG:tm:wait_handler: done
Jan 15 14:29:41 [32216] DBG:core:parse_msg: SIP Request:
Jan 15 14:29:41 [32216] DBG:core:parse_msg: method: <INVITE>
Jan 15 14:29:41 [32216] DBG:core:parse_msg: uri: <sip:751@200.40.
xxx.xxx>
Jan 15 14:29:41 [32216] DBG:core:parse_msg: version: <SIP/2.0>
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=2
Jan 15 14:29:41 [32216] DBG:core:parse_via_param: found param type
232, <branch> = <z9hG4bK-d87543-40390549c060936b-1--d87543->; state=6
Jan 15 14:29:41 [32216] DBG:core:parse_via_param: found param type
235, <rport> = <n/a>; state=17
Jan 15 14:29:41 [32216] DBG:core:parse_via: end of header reached,
state=5
Jan 15 14:29:41 [32216] DBG:core:parse_headers: via found, flags=2
Jan 15 14:29:41 [32216] DBG:core:parse_headers: this is the first via
Jan 15 14:29:41 [32216] DBG:core:receive_msg: After parse_msg...
Jan 15 14:29:41 [32216] DBG:core:receive_msg: preparing to run routing
scripts...
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=100
Jan 15 14:29:41 [32216] DBG:maxfwd:is_maxfwd_present: value = 70
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=10
Jan 15 14:29:41 [32216] DBG:core:parse_to: end of header reached,
state=10
Jan 15 14:29:41 [32216] DBG:core:parse_to: display={"751"}, ruri={sip:
751(a)200.40.xxx.xxx}
Jan 15 14:29:41 [32216] DBG:core:get_hdr_field: <To> [31]; uri=[sip:
751(a)200.40.xxx.xxx]
Jan 15 14:29:41 [32216] DBG:core:get_hdr_field: to body ["751"<sip:
751(a)200.40.xxx.xxx>
]
Jan 15 14:29:41 [32216] DBG:core:parse_to_param: tag=747fa53e
Jan 15 14:29:41 [32216] DBG:core:parse_to: end of header reached,
state=29
Jan 15 14:29:41 [32216] DBG:core:parse_to: display={"pruebas ser desde
adsl"}, ruri={sip:100%40netgate.com@200.40.xxx.xxx}
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=200
Jan 15 14:29:41 [32216] DBG:core:get_hdr_field: cseq <CSeq>: <1>
<INVITE>
Jan 15 14:29:41 [32216] DBG:core:get_hdr_field: content_length=438
Jan 15 14:29:41 [32216] DBG:core:get_hdr_field: found end of header
Jan 15 14:29:41 [32216] DBG:rr:find_first_route: No Route headers
found
Jan 15 14:29:41 [32216] DBG:rr:loose_route: There is no Route HF
Jan 15 14:29:41 [32216] DBG:core:grep_sock_info: checking if host==us:
14==13 && [200.40.xxx.xxx] == [192.168.1.200]
Jan 15 14:29:41 [32216] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:29:41 [32216] DBG:core:grep_sock_info: checking if host==us:
14==14 && [200.40.xxx.xxx] == [200.40.xxx.xxx]
Jan 15 14:29:41 [32216] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:29:41 [32216] DBG:tm:t_newtran: transaction on
entrance=0xffffffff
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=ffffffffffffffff
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=78
Jan 15 14:29:41 [32216] DBG:tm:t_lookup_request: start searching:
hash=13046, isACK=0
Jan 15 14:29:41 [32216] DBG:tm:matching_3261: RFC3261 transaction
matching failed
Jan 15 14:29:41 [32216] DBG:tm:t_lookup_request: no transaction found
Jan 15 14:29:41 [32216] DBG:core:parse_headers: flags=ffffffffffffffff
Jan 15 14:29:41 [32216] DBG:core:check_via_address: params 190.132.174.
xxx, 190.132.174.xxx, 0
Jan 15 14:29:41 [32216] DBG:core:_shm_resize: resize(0) called
Jan 15 14:29:41 [32216] DBG:tm:_reply_light: reply sent out.
buf=0x8185858: SIP/2.0 1..., shmem=0xb6144bc8: SIP/2.0 1
Jan 15 14:29:41 [32216] DBG:tm:_reply_light: finished
Jan 15 14:29:41 [32216] DBG:core:mk_proxy: doing DNS lookup...
Jan 15 14:29:41 [32216] DBG:core:check_via_address: params 190.132.174.
xxx, 190.132.174.xxx, 0
Jan 15 14:29:41 [32216] DBG:tm:set_timer: relative timeout is 500000
Jan 15 14:29:41 [32216] DBG:tm:insert_timer_unsafe: [4]: 0xb614313c
(115600000)
Jan 15 14:29:41 [32216] DBG:tm:set_timer: relative timeout is 30
Jan 15 14:29:41 [32216] DBG:tm:insert_timer_unsafe: [0]: 0xb6143158
(145)
Jan 15 14:29:41 [32216] DBG:tm:t_relay_to: new transaction fwd'ed
Jan 15 14:29:41 [32216] DBG:tm:t_unref: UNREF_UNSAFE: after is 0
Jan 15 14:29:41 [32216] DBG:core:destroy_avp_list: destroying list
(nil)
Jan 15 14:29:41 [32216] DBG:core:receive_msg: cleaning up
Jan 15 14:29:42 [32219] DBG:tm:utimer_routine: timer routine:4,
tl=0xb614313c next=(nil), timeout=115600000
Jan 15 14:29:42 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:29:42 [32219] DBG:tm:set_timer: relative timeout is 1000000
Jan 15 14:29:42 [32219] DBG:tm:insert_timer_unsafe: [5]: 0xb614313c
(116600000)
Jan 15 14:29:42 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:29:43 [32219] DBG:tm:utimer_routine: timer routine:5,
tl=0xb614313c next=(nil), timeout=116600000
Jan 15 14:29:43 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:29:43 [32219] DBG:tm:set_timer: relative timeout is 2000000
Jan 15 14:29:43 [32219] DBG:tm:insert_timer_unsafe: [6]: 0xb614313c
(118600000)
Jan 15 14:29:43 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:29:45 [32219] DBG:tm:utimer_routine: timer routine:6,
tl=0xb614313c next=(nil), timeout=118600000
Jan 15 14:29:45 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:29:45 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:29:45 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(122600000)
Jan 15 14:29:45 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:29:46 [32219] DBG:dbtext:dbt_db_get_table: cache or mtime
succeeded
Jan 15 14:29:46 [32219] DBG:dbtext:dbt_insert: done!
Jan 15 14:29:49 [32219] DBG:tm:utimer_routine: timer routine:7,
tl=0xb614313c next=(nil), timeout=122600000
Jan 15 14:29:49 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:29:49 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:29:49 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(126600000)
Jan 15 14:29:49 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:29:53 [32219] DBG:tm:utimer_routine: timer routine:7,
tl=0xb614313c next=(nil), timeout=126600000
Jan 15 14:29:53 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:29:53 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:29:53 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(130600000)
Jan 15 14:29:53 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:29:54 [32215] DBG:core:udp_rcv_loop: probing packet received
from 190.132.174.xxx 46843
Jan 15 14:29:57 [32219] DBG:tm:utimer_routine: timer routine:7,
tl=0xb614313c next=(nil), timeout=130600000
Jan 15 14:29:57 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:29:57 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:29:57 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(134600000)
Jan 15 14:29:57 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:30:01 [32219] DBG:tm:utimer_routine: timer routine:7,
tl=0xb614313c next=(nil), timeout=134600000
Jan 15 14:30:01 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:30:01 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:30:01 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(138600000)
Jan 15 14:30:01 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:30:05 [32219] DBG:tm:utimer_routine: timer routine:7,
tl=0xb614313c next=(nil), timeout=138600000
Jan 15 14:30:05 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:30:05 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:30:05 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(142600000)
Jan 15 14:30:05 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:30:09 [32219] DBG:tm:utimer_routine: timer routine:7,
tl=0xb614313c next=(nil), timeout=142600000
Jan 15 14:30:09 [32219] DBG:tm:retransmission_handler:
retransmission_handler : request resending (t=0xb6142ff0, INVITE si ...
)
Jan 15 14:30:09 [32219] DBG:tm:set_timer: relative timeout is 4000000
Jan 15 14:30:09 [32219] DBG:tm:insert_timer_unsafe: [7]: 0xb614313c
(146600000)
Jan 15 14:30:09 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:30:11 [32219] DBG:tm:timer_routine: timer routine:0,
tl=0xb6143158 next=(nil), timeout=145
Jan 15 14:30:11 [32219] DBG:tm:final_response_handler: stop retr. and
send CANCEL (0xb6142ff0)
Jan 15 14:30:11 [32219] DBG:tm:t_should_relay_response: T_code=100,
new_code=408
Jan 15 14:30:11 [32219] DBG:tm:t_pick_branch: picked branch 0, code
408
Jan 15 14:30:11 [32219] DBG:tm:is_3263_failure: dns-failover test:
branch=0, last_recv=408, flags=1
Jan 15 14:30:11 [32219] DBG:tm:t_should_relay_response: trying DNS-
based failover
Jan 15 14:30:11 [32219] DBG:tm:relay_reply: branch=0, save=0, relay=0
Jan 15 14:30:11 [32219] DBG:core:parse_headers: flags=ffffffffffffffff
Jan 15 14:30:11 [32219] DBG:core:check_via_address: params 190.132.174.
xxx, 190.132.174.xxx, 0
Jan 15 14:30:11 [32219] DBG:tm:set_timer: relative timeout is 500000
Jan 15 14:30:11 [32219] DBG:tm:insert_timer_unsafe: [4]: 0xb61430b8
(145500000)
Jan 15 14:30:11 [32219] DBG:tm:set_timer: relative timeout is 30
Jan 15 14:30:11 [32219] DBG:tm:insert_timer_unsafe: [0]: 0xb61430d4
(175)
Jan 15 14:30:11 [32219] DBG:tm:relay_reply: sent buf=0x81801f0: SIP/2.
0 4..., shmem=0xb6144bc8: SIP/2.0 4
Jan 15 14:30:11 [32219] DBG:tm:final_response_handler: done
Jan 15 14:30:12 [32219] DBG:tm:utimer_routine: timer routine:4,
tl=0xb61430b8 next=(nil), timeout=145500000
Jan 15 14:30:12 [32219] DBG:tm:retransmission_handler:
retransmission_handler : reply resending (t=0xb6142ff0, SIP/2.0 4 ... )
Jan 15 14:30:12 [32219] DBG:tm:t_retransmit_reply: buf=0x3c4860: SIP/2.
0 4..., shmem=0xb6144bc8: SIP/2.0 4
Jan 15 14:30:12 [32219] DBG:tm:set_timer: relative timeout is 1000000
Jan 15 14:30:12 [32219] DBG:tm:insert_timer_unsafe: [5]: 0xb61430b8
(146500000)
Jan 15 14:30:12 [32219] DBG:tm:retransmission_handler:
retransmission_handler : done
Jan 15 14:30:12 [32217] DBG:core:parse_msg: SIP Request:
Jan 15 14:30:12 [32217] DBG:core:parse_msg: method: <ACK>
Jan 15 14:30:12 [32217] DBG:core:parse_msg: uri: <sip:751@200.40.
xxx.xxx>
Jan 15 14:30:12 [32217] DBG:core:parse_msg: version: <SIP/2.0>
Jan 15 14:30:12 [32217] DBG:core:parse_headers: flags=2
Jan 15 14:30:12 [32217] DBG:core:parse_via_param: found param type
232, <branch> = <z9hG4bK-d87543-40390549c060936b-1--d87543->; state=6
Jan 15 14:30:12 [32217] DBG:core:parse_via_param: found param type
235, <rport> = <n/a>; state=17
Jan 15 14:30:12 [32217] DBG:core:parse_via: end of header reached,
state=5
Jan 15 14:30:12 [32217] DBG:core:parse_headers: via found, flags=2
Jan 15 14:30:12 [32217] DBG:core:parse_headers: this is the first via
Jan 15 14:30:12 [32217] DBG:core:receive_msg: After parse_msg...
Jan 15 14:30:12 [32217] DBG:core:receive_msg: preparing to run routing
scripts...
Jan 15 14:30:12 [32217] DBG:sl:sl_filter_ACK: to late to be a local
ACK!
Jan 15 14:30:12 [32217] DBG:core:parse_headers: flags=100
Jan 15 14:30:12 [32217] DBG:core:parse_to_param:
tag=a675395d39bf06a14f949f34d60ba9bb-be39
Jan 15 14:30:12 [32217] DBG:core:parse_to: end of header reached,
state=29
Jan 15 14:30:12 [32217] DBG:core:parse_to: display={"751"}, ruri={sip:
751(a)200.40.xxx.xxx}
Jan 15 14:30:12 [32217] DBG:core:get_hdr_field: <To> [73]; uri=[sip:
751(a)200.40.xxx.xxx]
Jan 15 14:30:12 [32217] DBG:core:get_hdr_field: to body ["751"<sip:
751(a)200.40.xxx.xxx>]
Jan 15 14:30:12 [32217] DBG:core:get_hdr_field: cseq <CSeq>: <1> <ACK>
Jan 15 14:30:12 [32217] DBG:core:get_hdr_field: content_length=0
Jan 15 14:30:12 [32217] DBG:core:get_hdr_field: found end of header
Jan 15 14:30:12 [32217] DBG:maxfwd:is_maxfwd_present: max_forwards
header not found!
Jan 15 14:30:12 [32217] DBG:core:parse_to_param: tag=747fa53e
Jan 15 14:30:12 [32217] DBG:core:parse_to: end of header reached,
state=29
Jan 15 14:30:12 [32217] DBG:core:parse_to: display={"pruebas ser desde
adsl"}, ruri={sip:100%40netgate.com@200.40.xxx.xxx}
Jan 15 14:30:12 [32217] DBG:core:parse_headers: flags=200
Jan 15 14:30:12 [32217] DBG:rr:find_first_route: No Route headers
found
Jan 15 14:30:12 [32217] DBG:rr:loose_route: There is no Route HF
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if host==us:
14==13 && [200.40.xxx.xxx] == [192.168.1.200]
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if host==us:
14==14 && [200.40.xxx.xxx] == [200.40.xxx.xxx]
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if host==us:
14==13 && [200.40.xxx.xxx] == [192.168.1.200]
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if host==us:
14==14 && [200.40.xxx.xxx] == [200.40.xxx.xxx]
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:30:12 [32217] DBG:registrar:lookup: '751' Not found in
usrloc
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if host==us:
14==13 && [200.40.xxx.xxx] == [192.168.1.200]
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if host==us:
14==14 && [200.40.xxx.xxx] == [200.40.xxx.xxx]
Jan 15 14:30:12 [32217] DBG:core:grep_sock_info: checking if port 5060
matches port 5060
Jan 15 14:30:12 [32217] DBG:registrar:lookup: '751' Not found in
usrloc
Jan 15 14:30:12 [32217] DBG:core:destroy_avp_list: destroying list
(nil)
Jan 15 14:30:12 [32217] DBG:core:receive_msg: cleaning up
Jan 15 14:30:12 [32215] DBG:core:parse_msg: SIP Request:
Jan 15 14:30:12 [32215] DBG:core:parse_msg: method: <ACK>
Jan 15 14:30:12 [32215] DBG:core:parse_msg: uri: <sip:751@200.40.
xxx.xxx>
Jan 15 14:30:12 [32215] DBG:core:parse_msg: version: <SIP/2.0>
Jan 15 14:30:12 [32215] DBG:core:parse_headers: flags=2
Jan 15 14:30:12 [32215] DBG:core:parse_via_param: found param type
232, <branch> = <z9hG4bK-d87543-40390549c060936b-1--d87543->; state=6
Jan 15 14:30:12 [32215] DBG:core:parse_via_param: found param type
235, <rport> = <n/a>; state=17
Jan 15 14:30:12 [32215] DBG:core:parse_via: end of header reached,
state=5
Jan 15 14:30:12 [32215] DBG:core:parse_headers: via found, flags=2
Jan 15 14:30:12 [32215] DBG:core:parse_headers: this is the first via
Jan 15 14:30:12 [32215] DBG:core:receive_msg: After parse_msg...
Jan 15 14:30:12 [32215] DBG:core:receive_msg: preparing to run routing
scripts...
Jan 15 14:30:12 [32215] DBG:sl:sl_filter_ACK: to late to be a local
ACK!
Jan 15 14:30:12 [32215] DBG:core:parse_headers: flags=100
>----Mensaje original----
>De: ggb(a)tid.es
>Fecha: 06/12/2007 11:03
>Para: "Lista de usuarios de OpenSER"<users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>Puedes mandar una captura del wireshark en tu SER a ver que pasa con
el
>INVITE cuando lo mandas desde Internet?
>
>G.
>
>On Tue, 2008-01-15 at 05:49 -0800, Andresdb wrote:
>> Estimado amigos,
>>
>> Tengo el siguiente inconveniente y la situación es la siguiente:
>> INTERNET----<ippublica SER x.x.x.x:5060>----ServerSER----<iplan SER
>> 192.168.1.200:5060>--LAN--<iplan Asterisk 192.168.1.201:5060>
>> Lo que queremos hacer es utilizar SER como un proxy para no exponer
asterisk
>> a una ip publica.
>> Si me registro contra el openser con la ip de lan el forward de las
llamadas
>> al Asterisk se hace correctamente, pero si intento registrarme
contra la ip
>> publica me registro al ser pero no puedo hacer llamadas, el forward
a la ip
>> de astrerisk no se hace, te detallo la configuración del cfg de
ser, les
>> agradezco mucho en lo que me puedan ayudar.
>>
>> openser.cfg
>> # ----------- global configuration parameters
------------------------
>>
>> debug=7 # debug level (cmd line: -dddddddddd)
>> fork=yes
>> log_stderror=yes # (cmd line: -E)
>>
>> check_via=no # (cmd. line: -v)
>> dns=no # (cmd. line: -r)
>> rev_dns=no # (cmd. line: -R)
>> children=4
>>
>> listen=192.168.1.200
>> listen=200.40.119.215
>> port=5060
>>
>> # ------------------ module loading
----------------------------------
>>
>> # use dbtext database
>> mpath="/usr/local/lib/openser/modules/"
>> loadmodule "dbtext.so"
>> loadmodule "sl.so"
>> loadmodule "tm.so"
>> loadmodule "rr.so"
>> loadmodule "maxfwd.so"
>> loadmodule "usrloc.so"
>> loadmodule "registrar.so"
>> loadmodule "textops.so"
>> loadmodule "mi_fifo.so"
>> #loadmodule "mediaproxy.so"
>> #loadmodule "nathelper.so"
>> #loadmodule "acc.so"
>> #loadmodule "exec.so"
>> #loadmodule "xlog.so"
>>
>> # modules for digest authentication
>> loadmodule "auth.so"
>> loadmodule "auth_db.so"
>>
>> # ----------------- setting module-specific parameters
---------------
>>
>> # -- mi_fifo params --
>>
>> modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
>>
>> # -- nathelper
>> #modparam("nathelper", "rtpproxy_disable", 1)
>> #modparam("nathelper", "natping_interval", 30)
>> #modparam("nathelper", "sipping_from", "sip:ping@192.168.0.7")
>>
>> # -- usrloc params --
>>
>> # use dbtext database for persistent storage
>> modparam("usrloc", "db_mode", 2)
>> modparam("usrloc|auth_db", "db_url",
>> "dbtext:///usr/local/etc/openser/dbtext")
>>
>> # -- auth params --
>> #
>> modparam("auth_db", "calculate_ha1", 1)
>> modparam("auth_db", "password_column", "password")
>> modparam("auth_db", "user_column", "username")
>> modparam("auth_db", "domain_column", "domain")
>>
>> # -- rr params --
>> # add value to ;lr param to make some broken UAs happy
>> modparam("rr", "enable_full_lr", 1)
>>
>> # ------------------------- request routing logic
-------------------
>>
>> # main routing logic
>>
>> route{
>> # initial sanity checks -- messages with
>> # max_forwards==0, or excessively long requests
>> if (!mf_process_maxfwd_header("10")) {
>> sl_send_reply("483","Too Many Hops");
>> exit;
>> };
>> if (msg:len >= max_len ) {
>> sl_send_reply("513", "Message too big");
>> exit;
>> };
>>
>> # we record-route all messages -- to make sure that
>> # subsequent messages will go through our proxy; that's
>> # particularly good if upstream and downstream entities
>> # use different transport protocol
>> if (!method=="REGISTER") record_route();
>>
>> # subsequent messages withing a dialog should take the
>> # path determined by record-routing
>> if (loose_route()) {
>> # mark routing logic in request
>> append_hf("P-hint: rr-enforced\r\n");
>> route(1);
>> exit;
>> };
>>
>> if (!uri==myself) {
>> # mark routing logic in request
>> append_hf("P-hint: outbound\r\n");
>> route(1);
>> exit;
>> };
>> if (is_method("INVITE")) {
>> rewritehostport("192.168.1.201:5060");
>> t_relay();
>> exit;
>> }
>> # if the request is for other domain use UsrLoc
>> # (in case, it does not work, use the following command
>> # with proper names and addresses in it)
>> if (uri==myself) {
>> if (method=="REGISTER") {
>> # digest authentication
>> if (!www_authorize("*", "subscriber")) {
>> www_challenge("*", "0");
>> exit;
>> };
>>
>> save("location");
>> exit;
>> };
>>
>> lookup("aliases");
>> if (!uri==myself) {
>> append_hf("P-hint: outbound alias\r\n");
>> route(1);
>> exit;
>> };
>>
>> # native SIP destinations are handled using our USRLOC DB
>> if (!lookup("location")) {
>> sl_send_reply("404", "Not Found");
>> exit;
>> };
>> };
>> append_hf("P-hint: usrloc applied\r\n");
>> route(1);
>> }
>>
>> route[1]
>> {
>> # send it out now; use stateful forwarding as it works reliably
>> # even for UDP2TCP
>> if (!t_relay()) {
>> sl_reply_error();
>> };
>> }
>>
>
>
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Estimado,
Correcto, desde un teléfono con ip publica me registro al ser que esta
en una ip publica, el servidor ser tiene dos tarjetas de red una para
la ip publica y otra para la lan que es donde este el asterisk, no
puedo llamar desde ese teléfono al asterisk no escucho el ringing, si
me registro a la ip privada del ser(LAN) puedo llamar al asterisk, se
escuha el ringing y puedo establecer una comunicación.
Saludos,
>----Mensaje original----
>De: ibc(a)in.ilimit.es
>Fecha: 15/01/2008 10:57
>Para: <users-es(a)lists.openser.org>
>Asunto: Re: [OpenSER-Users-ES] Problemas Forward de llamadas de
openser a Asterisk
>
>On Tuesday 15 January 2008 14:49:04 Andresdb wrote:
>> Si me registro contra el openser con la ip de lan el forward de las
>> llamadas al Asterisk se hace correctamente, pero si intento
registrarme
>> contra la ip publica me registro al ser pero no puedo hacer
llamadas, el
>> forward a la ip de astrerisk no se hace
>
>A ver si he entendido:
>
>Si te registras en Openser desde un tfno en una IP pública externa,
entonces
>no puedes llamar desde ese tfno al Asterisk, ¿es eso?
>
>En caso afirmativo:
>
>- Pon una extensión en Asterisk tal que así:
> exten => test,1,Ringing
> exten => test,n,Wait(4)
> exten => test,n,Answer
> exten => test,n,Echo
>
>- Llama desde el tfno externo a esa extensión.
>
>¿Escuchas el ringing en el tfno?
>
>
>--
>Iñaki Baz Castillo
>ibc(a)in.ilimit.es
>
>_______________________________________________
>Users-es mailing list
>Users-es(a)lists.openser.org
>http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
Estimado amigos,
Tengo el siguiente inconveniente y la situación es la siguiente:
INTERNET----<ippublica SER x.x.x.x:5060>----ServerSER----<iplan SER
192.168.1.200:5060>--LAN--<iplan Asterisk 192.168.1.201:5060>
Lo que queremos hacer es utilizar SER como un proxy para no exponer asterisk
a una ip publica.
Si me registro contra el openser con la ip de lan el forward de las llamadas
al Asterisk se hace correctamente, pero si intento registrarme contra la ip
publica me registro al ser pero no puedo hacer llamadas, el forward a la ip
de astrerisk no se hace, te detallo la configuración del cfg de ser, les
agradezco mucho en lo que me puedan ayudar.
openser.cfg
# ----------- global configuration parameters ------------------------
debug=7 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes # (cmd line: -E)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
children=4
listen=192.168.1.200
listen=200.40.119.215
port=5060
# ------------------ module loading ----------------------------------
# use dbtext database
mpath="/usr/local/lib/openser/modules/"
loadmodule "dbtext.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
#loadmodule "mediaproxy.so"
#loadmodule "nathelper.so"
#loadmodule "acc.so"
#loadmodule "exec.so"
#loadmodule "xlog.so"
# modules for digest authentication
loadmodule "auth.so"
loadmodule "auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- mi_fifo params --
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
# -- nathelper
#modparam("nathelper", "rtpproxy_disable", 1)
#modparam("nathelper", "natping_interval", 30)
#modparam("nathelper", "sipping_from", "sip:ping@192.168.0.7")
# -- usrloc params --
# use dbtext database for persistent storage
modparam("usrloc", "db_mode", 2)
modparam("usrloc|auth_db", "db_url",
"dbtext:///usr/local/etc/openser/dbtext")
# -- auth params --
#
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "user_column", "username")
modparam("auth_db", "domain_column", "domain")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
exit;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
exit;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
exit;
};
if (is_method("INVITE")) {
rewritehostport("192.168.1.201:5060");
t_relay();
exit;
}
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# digest authentication
if (!www_authorize("*", "subscriber")) {
www_challenge("*", "0");
exit;
};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
exit;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
--
View this message in context: http://www.nabble.com/Problemas-Forward-de-llamadas-de-openser-a-Asterisk-t…
Sent from the OpenSER Users - ES mailing list archive at Nabble.com.
Chicos,
Como es normal, no quiero que nadie llame si estar registrado...
tengo lo siguiente en mi conf:
if (uri==myself) {
if (method=="REGISTER") {
if (!www_authorize("sip.midom.com", "subscriber")) {
www_challenge("sip.midom.com", "0");
exit;
};
if (isflagset(5)) {
setbflag(6);
# if you want OPTIONS natpings uncomment next
# setflag(7);
};
save("location");
exit;
};
if (method=="INVITE") {
if (!proxy_authorize("sip.midom.com","subscriber"))
{
proxy_challenge("sip.midom..com","0");
exit;
}else{
if($si=="GW1"||$si=="GW2"){
xlog("L_NOTICE", "\n************** ALLOWING
INCOMING CALL AS IT COMES FROM $si ************\n");
}
}
if (uri=~"^sip:001"){
route(4);
}
.
.
.
pero ahora tengo problemas de DECLINED con muchos clientes cuando hacen
llamadas... qué hay de malo arriba??
Un saludo
David