[SR-Users] RTPPROXY timeout patch.

Carsten Bock lists at bock.info
Wed Mar 16 13:53:34 CET 2011


Hi Alexandre,

i don't have a clue, what is going wrong there. The timeout socket,
you provide, must not necessarily point to the Kamailio-XML-RPC-Port,
in my test-cases it just pointed anywhere... (i hope it does not mess
up the XML-RPC Process of Kamailio if you connect there and do
nothing).
I am a little short in time at the moment, so i have just tar'ed the
local RTP-Proxy i used for the development, so maybe you can test it,
If it works with my version of RTP-Proxy, i will have to check why....

Carsten

2011/3/16 Alexandre Abreu <alexandre.abreu at redt.com.br>:
> Hello Carsten,
>
> If you use "-n tcp:127.0.0.1" without port you get:
>
> [root at devel ~]# rtpproxy -T 10 -F -i -l 192.168.200.90 -s udp:127.0.0.1 7722
> -n tcp:127.0.0.1 -d DBUG
> rtpproxy: can't parse host:port in TCP address
> rtpproxy: can't start notification thread
>
> As I wrote in my previous mail, I am using "-n tcp:192.168.200.90:8000"
> which points to the address that XMLRPC server is listening to.
>
> tcp        0      0 0.0.0.0:8000                0.0.0.0:*
> LISTEN      3661/kamailio
>
> What I am missing here?
>
> Thanks,
> Alexandre.
>
> -----Mensagem original-----
> De: kaiserbock2 at googlemail.com [mailto:kaiserbock2 at googlemail.com] Em nome
> de Carsten Bock
> Enviada em: quarta-feira, 16 de março de 2011 09:00
> Para: Alexandre Abreu
> Cc: sr-users at lists.sip-router.org
> Assunto: Re: RTPPROXY timeout patch.
>
> 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
>
>



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



More information about the sr-users mailing list