[OpenSER-Devel] force_rtp_proxy("l"); - OpenSer crashes

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Nov 15 09:52:41 UTC 2007


Hi Iñaki,

I will try to reproduce this crash....

But can you confirm if the "l" flag works properly now?

Regards,
Bogdan

Iñaki Baz Castillo wrote:
> El Wednesday 14 November 2007 14:27:33 Bogdan-Andrei Iancu escribió:
>   
>> Hi,
>>
>> Have you had the chance to test the fixup? I just want to know if it
>> fixed or not.
>>
>> Also, there was something about CANCEL crashing the nathelper.....?
>>     
>
>
> Hi Bodgan, unfortunatelly I can reproduce how to crash OpenSer in trunk 
> version when unforce_rtp_proxy() if there was a problem before. I explain it:
>
>
> At home I'm behind a fuc***** SpeedTouch ST350 router that does ALG (and I 
> cant dissable it, no telnet option for that). Ok, I register my user (Twinkle 
> softphone) and get a broken register since "location" table says:
>
>      contact                                                         received
>      sip:ibc_sip_aliax_net at 85.58.7.110:56293     sip:85.58.7.110:56292
>
> As you see ports are different !!!
> And NAT is detected (I do nat_uac_test("19")), so my router ALG is really the 
> worst ALG of the world.
>
>
> In fact, if I do from and internet host:
>   nmap -sU 85.58.7.110 -p 56293
> or
>   nmap -sU 85.58.7.110 -p 56292
> I get CLOSED ports.
>
>
> Because all of this, if I INVITE myself (ibc) the INVITE is not received in my 
> Twinkle and not replied.
> rtp_proxy is actived during INVITE because bflag(6) is set (in REGISTER NAT 
> was detected).
>
> So I get a "Trying" from OpenSer but there is no more. If I CANCEL the call 
> unforce_rtp_proxy() is done and all ok, no problem.
>
> But if I wait for the TimeOut the OpenSer crashed during unforce_rtp_proxy() 
> in failure_route().
>
> This is the trace of the above case (TimeOut occurs and OpenSer crashes):
>
>
> -------------------------------------------------------------------------------------------------------------
> INVITE sip:ibc at sip.aliax.net  --  desde Twinkle/1.1 - 85.58.7.110:56293
>    FROM: sip:ibc at sip.aliax.net
>    TO:   sip:ibc at sip.aliax.net
> Autenticación required
>
> INVITE sip:ibc at sip.aliax.net  --  desde Twinkle/1.1 - 85.58.7.110:56293
>    FROM: sip:ibc at sip.aliax.net
>    TO:   sip:ibc at sip.aliax.net
> INVITE authorized
> location: 1 (Contact found and returned)
> branch_route[1]: ru = sip:ibc_sip_aliax_net at 85.58.7.110:56293
> branch_route[1]: bflag(6) = 1
> NAT: enabling rtpproxy
>
> root at openser.mydomain.org:~$
> root at openser.mydomain.org:~$
> root at openser.mydomain.org:~$
>
> /* The INVITE doesn't arrive to myself because wrong ports of ALG, so a 
> timeout occcurs in OpenSer */
>
> root at openser.mydomain.org:~$
> root at openser.mydomain.org:~$
> root at openser.mydomain.org:~$ failure_route[1]: unforce_rtp_proxy()
> Nov 15 00:02:45 [30188] CRITICAL:core:receive_fd: EOF on 24etc/
> Nov 15 00:02:45 [30116] INFO:core:handle_sigs: child process 30157 exited by a 
> signal 11
> Nov 15 00:02:45 [30116] INFO:core:handle_sigs: core was not generated
> Nov 15 00:02:45 [30116] INFO:core:handle_sigs: terminating due to SIGCHLD
> Nov 15 00:02:45 [30188] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30160] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30133] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30154] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30187] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30184] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30181] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30178] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30175] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30172] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30169] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30166] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30163] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30151] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30148] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30145] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30142] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30139] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30136] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30130] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30127] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30124] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30121] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30120] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30119] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30118] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30117] INFO:core:sig_usr: signal 15 received
> Nov 15 00:02:45 [30116] INFO:pike:pike_exit: destroying...
> Nov 15 00:02:45 [30116] NOTICE:presence:destroy: destroy module ...
>
>
>
>
> I attach a ngrep capture in which I register my Twinkle behind ALG 
> router, later I call to myself and CANCEL the call, and later I call to 
> myself and OpenSer crashes when timeout.
>
>
>
>
> You can test it easily, just create a entry in "location" as the following:
>
>   username: 123
>   domain: domain.org
>   contact: sip:test at 88.88.88.88:8888
>   cflags: 192
>
> (asumming that contact address doesn't exist and bflag(6) is NAT detected in 
> REGISTER).
>
> Now call 123 at domain.org and you'll get a Trying but no more. Let timeout 
> occurs and OpenSer crashes. Just it.
>
> PD: I use last version of RtpProxy.
>
>
> Best regards. If you need anything please tell me.
>
>
>
>
>
>
>   




More information about the Devel mailing list