[SR-Users] RTPPROXY timeout patch.

Carsten Bock lists at bock.info
Wed Mar 16 12:59:44 CET 2011


Hi,

Sorry for confusion:
You will have to define a Timeout socket, when starting RTP-Proxy (-n,
may be invalid):

bock at bock-tde:~/ims/sr-rtpp/sip-router/modules/rtpproxy/test$ cat
./exec_rtpproxy.txt
./rtpproxy -T 10 -f -F -i -l 127.0.0.1 -s udp:*:22222 -d DBUG -n tcp:127.0.0.1

Recent Versions of RTP-Proxy start a separate thread to process the
timeouts; but only if the timeout socket is defined at startup.
Then it should work.

Good luck,
Carsten

P.S.: I will add some docs on howto make this work in the next days to
GIT-Trunk.
2011/3/15 Alexandre Abreu <alexandre.abreu at redt.com.br>:
> Hello Carsten.
>
> Still no lucky. I just moved the whole rtpproxy/ directory into 3.1 branch
> and recompiled and then changed my script to use
> rtpproxy_offer()/rtpproxy_answer().
>
> Look:
>
> Mar 15 14:04:38 devel rtpproxy[29111]: INFO:handle_command: new session
> e2361a59b4588d51, tag ed382a18;1 requested, type strong
> Mar 15 14:04:38 devel rtpproxy[29111]: INFO:handle_command: new session on a
> port 44206 created, tag ed382a18;1
> Mar 15 14:04:38 devel rtpproxy[29111]: INFO:handle_command: pre-filling
> caller's address with 192.168.200.114:6380
> Mar 15 14:04:39 devel kamailio[29544]: NOTICE: acc [acc.c:275]: ACC:
> transaction answered:
> timestamp=1300208679;method=INVITE;from_tag=ed382a18;to_tag=19477c42;call_id
> =e2361a59b4588d51;code=200;reason=OK;
> Mar 15 14:04:39 devel rtpproxy[29111]: INFO:handle_command: lookup on ports
> 44206/41680, session timer restarted
> Mar 15 14:04:39 devel rtpproxy[29111]: INFO:handle_command: setting custom
> timeout handler (xmlrpc:http://localhost:8000/RPC2)
> Mar 15 14:04:39 devel rtpproxy[29111]: INFO:handle_command: pre-filling
> callee's address with 192.168.200.149:9494
> Mar 15 14:04:50 devel rtpproxy[29111]: INFO:process_rtp: session timeout
> Mar 15 14:04:50 devel rtpproxy[29111]: INFO:remove_session: RTP stats: 963
> in from callee, 10 in from caller, 973 relayed, 0 dropped
> Mar 15 14:04:50 devel rtpproxy[29111]: INFO:remove_session: RTCP stats: 5 in
> from callee, 1 in from caller, 6 relayed, 0 dropped
> Mar 15 14:04:50 devel rtpproxy[29111]: INFO:remove_session: session on ports
> 44206/41680 is cleaned up
>
> Started with:
> rtpproxy -T 10 -F -i -l 192.168.200.90 -s udp:127.0.0.1:7722 -n
> tcp:192.168.200.90:8000 -d DBUG
>
> SIP-ROUTER config:
> # ----- rtpproxy params -----
> modparam("rtpproxy", "rtpproxy_sock", "udp:localhost:7722")
> modparam("rtpproxy", "rtpproxy_tout", 3)
> modparam("rtpproxy", "timeout_socket", "xmlrpc:http://localhost:8000/RPC2")
>
> # The Port for incoming XML-RPC requests
> modparam("mi_xmlrpc",  "port", 8000)
> modparam("mi_xmlrpc", "reply_option", 1)
> modparam("mi_xmlrpc",  "buffer_size",  8192)
> modparam("mi_xmlrpc", "log_file", "/tmp/openser_xmlrpc")
>
> The session keeps active after the RTPPROXY proxy timeout. It seems
> dlg_terminate_dlg isn't being triggered. Am I missing something else beyond
> moving rtpproxy/ directory?
> As this thread is a user-question, I am copying SR-USERS mail list. I am
> also using xmlrpc-c-1.06.41.
>
> Thanks,
> Alexandre.
>
> -----Mensagem original-----
> De: kaiserbock2 at googlemail.com [mailto:kaiserbock2 at googlemail.com] Em nome
> de Carsten Bock
> Enviada em: terça-feira, 15 de março de 2011 05:15
> Para: Alexandre Abreu
> Assunto: Re: RTPPROXY timeout patch.
>
> Hi Alexandre,
>
> sorry, yes, your correct. My changes are not in the 3.1 branch, but only
> GIT-Master. Only the GIT-Master currently holds the correct patch and
> config.
> I will need to backport the changes from the master... (will do so this
> week).
>
> Carsten
>
> 2011/3/14 Alexandre Abreu <alexandre.abreu at redt.com.br>:
>> Hello Carsten,
>>
>> Let me ask you a question:
>>
>> If "First is important to clarify: from version 3.0.0 on, Kamailio and
>> SER are identical in terms of source code.", then why your changes
>> does not reflect in kamailio 3.1 from GIT?
>> I did see the changes by getting the SIP-ROUTER from GIT. Kamailio 3.1
>> from GIT does not have your code.
>>
>> Thanks.
>> Alexandre
>>
>> -----Mensagem original-----
>> De: kaiserbock2 at googlemail.com [mailto:kaiserbock2 at googlemail.com] Em
>> nome de Carsten Bock Enviada em: segunda-feira, 14 de março de 2011
>> 05:31
>> Para: Alexandre Abreu
>> Cc: RTPproxy Development
>> Assunto: Re: RTPPROXY timeout patch.
>>
>> Hello,
>>
>> i hope, you had a nice weekend... ;-)
>> Are you sure, you are using the GIT-Version of the
>> Kamailio/sip-router.org config?
>> In the GIT version it is now:
>>
>> modparam("rtpproxy", "timeout_socket",
>> "xmlrpc:http://localhost:8000/RPC2")
>>
>> http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=mod
>> ules/r
>> tpproxy/test/kamailio.cfg;h=0d5c73ff2065f33f262981fba2c07e65496e7415;h
>> b=HEAD
>>
>> This should work (as tested by me).
>>
>> Carsten
>>
>> 2011/3/11 Alexandre Abreu <alexandre.abreu at redt.com.br>:
>>> Hello Carsten,
>>>
>>> The patch was applied just fine but I can't get that feature working.
>>> See
>>> below:
>>>
>>> [root at devel log]# rtpproxy -v
>>> Basic version: 20040107
>>> Extension 20050322: Support for multiple RTP streams and MOH
>>> Extension
>>> 20060704: Support for extra parameter in the V command Extension
>>> 20071116: Support for RTP re-packetization Extension 20071218:
>>> Support for forking (copying) RTP stream Extension 20080403: Support
>>> for RTP statistics querying Extension 20081102: Support for setting
>>> codecs in the update/lookup command Extension 20081224: Support for
>>> session timeout notifications Extension 20090810: Support for
>>> automatic bridging Extension 20100819: Support for timeout
>>> notifications using XML-RPC towards Kamailio/sip-router.org
>>>
>>> Using SR 3.1.2, my configuration file was exactly the same as the
>>> example in test/ subdirectory you commit to rtpproxy module.
>>>
>>> # RTP-Proxy
>>> modparam("rtpproxy", "rtpproxy_sock", "udp:localhost:22222")
>>> modparam("rtpproxy", "rtpproxy_tout", 3) modparam("rtpproxy",
>>> "timeout_socket", "http://localhost:8000/RPC2")
>>>
>>> # The Port for incoming XML-RPC requests modparam("mi_xmlrpc",
>>> "port",
>>> 8000) modparam("mi_xmlrpc", "reply_option", 1) modparam("mi_xmlrpc",
>>> "buffer_size",  8192) modparam("mi_xmlrpc", "log_file",
>>> "/tmp/openser_xmlrpc")
>>>
>>> Still inside test/ subdir we have the following example:
>>>
>>> [root at devel test]# cat exec_rtpproxy.txt ./rtpproxy -T 10 -f -F -i -l
>>> <your IP> -s udp:*:22222 -d DBUG
>>>
>>> You mean that if XML-RPC is used, it has to begin with "xmlrpc:". I
>>> can't see this string anywhere in these examples. I guess these files
>>> are not up to date. Am I correct?
>>> I can see the session timeout in RTPPROXY, but the session does not
> close.
>>> If I understand right how this feature works, it should send a
>>> "dlg_terminate_dlg + call-id" to send the BYE to both sides.
>>>
>>> Any tip on what could be wrong?
>>>
>>> Thanks,
>>> Alexandre
>>>
>>> -----Mensagem original-----
>>> De: kaiserbock2 at googlemail.com [mailto:kaiserbock2 at googlemail.com] Em
>>> nome de Carsten Bock Enviada em: quinta-feira, 10 de fevereiro de
>>> 2011
>>> 20:53
>>> Para: Alexandre Abreu
>>> Cc: RTPproxy Development
>>> Assunto: Re: RTPPROXY timeout patch.
>>>
>>> Hi Alexandre,
>>>
>>> i updated the patch in the sip-router-repository (and attached the
>>> patch to this email). The new patch and the modifications to the
>>> rtpproxy module need some more testing, i have only done basic
>> functionality testing so far.
>>> I have reduced the patch a little, the socket, if the
>>> XML-RPC-Interface is used, has to begin with "xmlrpc:". This way, the
>>> protocol of the RTP-Proxy stays intact.
>>> If you have spare-time, please test it; otherwise, i will do it asap
>>> (but i am travelling a lot next week).
>>>
>>> @Maxim: This new version of the patch is much better, than the old one.
>>> Maybe you can review this one? Thanks!
>>>
>>> Carsten
>>>
>>>
>>> 2011/2/10 Carsten Bock <lists at bock.info>:
>>>> Hi Alexandre,
>>>>
>>>> the current GIT-version contains some more modifications regarding
>>>> timeout sockets.
>>>> That is the reason why the patch does not work anymore.
>>>> I will need to review the code and adapt my patch accordingly.
>>>> I will do so later.
>>>>
>>>> Carsten
>>>>
>>>> 2011/2/2 Alexandre Abreu <alexandre.abreu at redt.com.br>:
>>>>> Hi Carsten,
>>>>>
>>>>> The stable version of RTPProxy is indeed 1.2.1. In this version,
>>>>> there is no file  'rtpp_notify.c'  so I think the patch is really
>>>>> for git-version. Maybe the original patch was made regarding to an
>>>>> earlier
>>> git commit.
>>>>>
>>>>> Thanks,
>>>>> Alexandre
>>>>>
>>>>> -----Mensagem original-----
>>>>> De: kaiserbock2 at googlemail.com [mailto:kaiserbock2 at googlemail.com]
>>>>> Em nome de Carsten Bock Enviada em: quarta-feira, 2 de fevereiro de
>>>>> 2011
>>>>> 06:02
>>>>> Para: Alexandre Abreu
>>>>> Cc: RTPproxy Development
>>>>> Assunto: Re: RTPPROXY timeout patch.
>>>>>
>>>>> Hi Alexandre,
>>>>>
>>>>> the patch was for the stable version of RTP-Proxy (1.2.1?). I will
>>>>> review the patch for the git-version.
>>>>> I am a little busy at the moment (business travel), so i can first
>>>>> do this on friday or next week.
>>>>>
>>>>> Kind regards,
>>>>> Carsten
>>>>>
>>>>> P.S.: Please always CC the list.
>>>>>
>>>>> 2011/2/1 Alexandre Abreu <alexandre.abreu at redt.com.br>:
>>>>>> Hi Carsten,
>>>>>>
>>>>>>
>>>>>>
>>>>>> I am testing the new RTPProxy timeout feature in Kamailio (GIT
>> version).
>>>>>>
>>>>>>
>>>>>>
>>>>>> Got the rtpproxy from GIT:
>>>>>>
>>>>>> git clone git://sippy.git.sourceforge.net/gitroot/sippy/rtpproxy
>>>>>>
>>>>>>
>>>>>>
>>>>>> I applied the patch:
>>>>>>
>>>>>> [root at devel rtpproxy]# patch < rtpproxy.patch
>>>>>>
>>>>>> patching file Makefile.am
>>>>>>
>>>>>> Hunk #1 FAILED at 4.
>>>>>>
>>>>>> 1 out of 1 hunk FAILED -- saving rejects to file Makefile.am.rej
>>>>>>
>>>>>> patching file config.h.in
>>>>>>
>>>>>> patching file configure.ac
>>>>>>
>>>>>> patching file rtpp_command.c
>>>>>>
>>>>>> Hunk #1 succeeded at 54 (offset 2 lines).
>>>>>>
>>>>>> Hunk #3 succeeded at 272 (offset 2 lines).
>>>>>>
>>>>>> Hunk #4 succeeded at 315 with fuzz 2.
>>>>>>
>>>>>> Hunk #5 FAILED at 466.
>>>>>>
>>>>>> Hunk #6 FAILED at 961.
>>>>>>
>>>>>> 2 out of 6 hunks FAILED -- saving rejects to file
>>>>>> rtpp_command.c.rej
>>>>>>
>>>>>> patching file rtpp_notify.c
>>>>>>
>>>>>> Hunk #1 FAILED at 38.
>>>>>>
>>>>>> Hunk #2 succeeded at 263 (offset 78 lines).
>>>>>>
>>>>>> misordered hunks! output would be garbled
>>>>>>
>>>>>> Hunk #4 FAILED at 250.
>>>>>>
>>>>>> Hunk #5 FAILED at 337.
>>>>>>
>>>>>> 3 out of 5 hunks FAILED -- saving rejects to file
>>>>>> rtpp_notify.c.rej
>>>>>>
>>>>>> patching file rtpp_notify.h
>>>>>>
>>>>>> Hunk #1 succeeded at 39 with fuzz 2 (offset 8 lines).
>>>>>>
>>>>>> patching file rtpp_session.c
>>>>>>
>>>>>> patching file rtpp_session.h
>>>>>>
>>>>>>
>>>>>>
>>>>>> As you see, not so clean but the files were patched.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On CentOS 5, I can’t find the LIBXMLRPC through YUM/RPM, so I
>>>>>> compiled xmlrpc-c-1.06.41.tgz by hand:
>>>>>>
>>>>>>
>>>>>>
>>>>>> ./configure –prefix=/usr && make && make install
>>>>>>
>>>>>> AND ./configure && make && make install
>>>>>>
>>>>>> With that, the headers are both on /usr/lib/include and
>>>>>> /usr/local/lib/include (I did that just to be sure that the config
>>>>>> wasn’t looking at the wrong place).
>>>>>>
>>>>>>
>>>>>>
>>>>>> xmlrpc_abyss.h
>>>>>>
>>>>>> xmlrpc_cgi.h
>>>>>>
>>>>>> XmlRpcCpp.h
>>>>>>
>>>>>> xmlrpc_server.h
>>>>>>
>>>>>> xmlrpc_client.h
>>>>>>
>>>>>> xmlrpc.h
>>>>>>
>>>>>> xmlrpc_server_w32httpsys.h
>>>>>>
>>>>>>
>>>>>>
>>>>>> The configure script from patched RTPPROXY doesn’t _try_ to find
>>>>>> the LIBXMLRPC (there’s no reference in config.log) and therefore
>>>>>> my rtpproxy doesn’t have the support for the timeout notification.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Any comment on what could be wrong?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Alexandre
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Carsten Bock
>>>>> Schomburgstr. 80
>>>>> 22767 Hamburg
>>>>> Germany
>>>>>
>>>>> Mobile +49 179 2021244
>>>>> Home +49 40 34927217
>>>>> Büro (Verl) +49 5246 801427
>>>>> Fax +49 40 34927218
>>>>> mailto:carsten at bock.info
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Carsten Bock
>>>> Schomburgstr. 80
>>>> 22767 Hamburg
>>>> Germany
>>>>
>>>> Mobile +49 179 2021244
>>>> Home +49 40 34927217
>>>> Büro (Verl) +49 5246 801427
>>>> Fax +49 40 34927218
>>>> mailto:carsten at bock.info
>>>>
>>>
>>>
>>>
>>> --
>>> Carsten Bock
>>> Schomburgstr. 80
>>> 22767 Hamburg
>>> Germany
>>>
>>> Mobile +49 179 2021244
>>> Home +49 40 34927217
>>> Büro (Verl) +49 5246 801427
>>> Fax +49 40 34927218
>>> mailto:carsten at bock.info
>>>
>>>
>>
>>
>>
>> --
>> Carsten Bock
>> http://www.ng-voice.com
>> mailto:carsten at ng-voice.com
>>
>>
>
>
>
> --
> Carsten Bock
> http://www.ng-voice.com
> mailto:carsten at ng-voice.com
>
>



-- 
Carsten Bock
http://www.ng-voice.com
mailto:carsten at ng-voice.com



More information about the sr-users mailing list