Hi Carsten,
Thank you very much. Finally it is working now.
Quick question: how do you account the BYE sent by the proxy? Since the BYE
itself does not transverse the script...
Thanks,
Alexandre
-----Mensagem original-----
De: kaiserbock2(a)googlemail.com [mailto:kaiserbock2@googlemail.com] Em nome
de Carsten Bock
Enviada em: quinta-feira, 17 de março de 2011 06:44
Para: Alexandre Abreu
Cc: sr-users(a)lists.sip-router.org
Assunto: Re: RTPPROXY timeout patch.
Hi Alexandre,
that really helped, thanks.
I think i've been able to fix this issue. It was based on a piece of memory,
which was free'd too early.
Please find attached an improved version of the RTPProxy/the patch. I will
update the patch in the GIT-Repository shortly.
Kind regards,
Carsten
2011/3/16 Alexandre Abreu <alexandre.abreu(a)redt.com.br>br>:
Carsten,
Here it goes:
[root@devel rtpproxy-carsten]# ./rtpproxy -T 10 -f -F -i -l
192.168.200.90 -s udp:*:7722 -d DBUG ERR INFO -n tcp:127.0.0.1:7723
INFO:main: rtpproxy started, pid 22495
rtpproxy: >>> Running Timeout-Process
DBUG:handle_command: received command "22428_8 Uc0,8,101
080b5d23d1603667
192.168.200.114 6380 0073852a;1"
INFO:handle_command: new session 080b5d23d1603667, tag 0073852a;1
requested, type strong
INFO:handle_command: new session on a port 48662 created, tag
0073852a;1
INFO:handle_command: pre-filling caller's address with
192.168.200.114:6380
DBUG:doreply: sending reply "22428_8 48662 192.168.200.90"
DBUG:handle_command: received command "22436_8 Lc0,8,101
080b5d23d1603667
192.168.200.149 7614 0073852a;1 c758967a;1
xmlrpc:http://127.0.0.1:8000/RPC2"
INFO:handle_command: lookup on ports 48662/58604, session timer
restarted
INFO:handle_command: setting custom timeout handler
(xmlrpc:http://127.0.0.1:8000/RPC2)
INFO:handle_command: pre-filling callee's address with
192.168.200.149:7614
DBUG:doreply: sending reply "22436_8 58604 192.168.200.90"
INFO:process_rtp: session timeout
INFO:remove_session: RTP stats: 982 in from callee, 4 in from caller,
986 relayed, 0 dropped
INFO:remove_session: RTCP stats: 5 in from callee, 1 in from caller, 6
relayed, 0 dropped
INFO:remove_session: session on ports 48662/58604 is cleaned up
ERR:do_timeout_notification: Timeout socket is: èîÈÄÐÊ@ÍÈÄÈÄ`ê
DBUG:reconnect_timeout_handler: reconnecting timeout socket
ERR:reconnect_timeout_handler: can't create timeout socket: Address
family not supported by protocol
ERR:do_timeout_notification: unable to send timeout notification
Very weird chars in the debug of what Timeout socket is...
But the custom timeout handler are being printed correctly from the
config file.
INFO:handle_command: setting custom timeout handler
(xmlrpc:http://127.0.0.1:8000/RPC2)
Here I am running CentOS 5.2 32-bit.
Thanks,
Alexandre
-----Mensagem original-----
De: kaiserbock2(a)googlemail.com [mailto:kaiserbock2@googlemail.com] Em
nome de Carsten Bock Enviada em: quarta-feira, 16 de março de 2011
14:18
Para: Alexandre Abreu
Cc: sr-users(a)lists.sip-router.org
Assunto: Re: RTPPROXY timeout patch.
Hi Alexandre,
My version of RTP-Proxy is following:
bock@bock-tde:~/ims/rtpproxy$ ./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
Please find attached a modified rtpp_notify.c file. I have just added
some tiny debug output in order to see some points.
Now you should see the following Debug-Outputs:
rtpproxy: >>> Running Timeout-Process
Then the notifier process is running. That would be good. If not,
that's the reason why it is not working. When the request comes in,
you should see the following:
INFO:handle_command: setting custom timeout handler
(xmlrpc:http://localhost:8000/RPC2)
Then the Timeout-Socket was properly set, that would be good as well.
Now the timeout:
INFO:process_rtp: session timeout
[...]
ERR:do_timeout_notification: Timeout socket is:
xmlrpc:http://localhost:8000/RPC2
That would be great, because then the Timeout towards the Kamailio
should be triggerd.
If these parts are ok, then there must be some issue either in the
XML-RPC client library or in the communication between the RTP-Proxy
and Kamailio. I hope you did a trace on the XML-RPC Port both on the
RTPproxy and on the Kamailio? What distro are you using? My tests were
only on Ubuntu and Debian, which are quite similar.
Hope we find this issue,
Kind regards,
Carsten
P.S.: I think i removed that check for the port for testing, that's
why my version accepted the socket without port... (now i'm using "-n
tcp:127.0.0.1:9999")
2011/3/16 Alexandre Abreu <alexandre.abreu(a)redt.com.br>br>:
Carsten,
Indeed. Very strange.
Are we running the same RTPPROXY version? How can you start using '-n
tcp:127.0.0.1' without specifying a port?
[root@devel rtpproxy-carsten]# ./rtpproxy -T 10 -f -F -i -l
192.168.200.90 -s udp:*:7722 -d DBUG ERR INFO -n tcp:127.0.0.1
rtpproxy: can't parse host:port in TCP address
rtpproxy: can't start notification thread
[root@devel rtpproxy-carsten]# ./rtpproxy -T 10 -f -F -i -l
192.168.200.90 -s udp:*:7722 -d DBUG ERR INFO -n tcp:127.0.0.1:7723
INFO:main: rtpproxy started, pid 21169
DBUG:handle_command: received command "17828_9 Uc0,8,101
4b10ce04de4f8818
192.168.200.114 6380 9c4b6265;1"
INFO:handle_command: new session 4b10ce04de4f8818, tag 9c4b6265;1
requested,
type strong
INFO:handle_command: new session on a port 43750 created, tag
9c4b6265;1
INFO:handle_command: pre-filling caller's address with
192.168.200.114:6380
DBUG:doreply: sending reply "17828_9 43750
192.168.200.90 "
DBUG:handle_command: received command "17847_9 Lc0,8,101
4b10ce04de4f8818
192.168.200.149 7386 9c4b6265;1 dd69ab1d;1
xmlrpc:http://localhost:8000/RPC2"
INFO:handle_command: lookup on ports 43750/55796, session timer
restarted
INFO:handle_command: setting custom timeout handler
(xmlrpc:http://localhost:8000/RPC2)
INFO:handle_command: pre-filling callee's address with
192.168.200.149:7386
> DBUG:doreply: sending reply "17847_9 55796 192.168.200.90 "
> INFO:process_rtp: session timeout
> INFO:remove_session: RTP stats: 548 in from callee, 5 in from caller,
> 553 relayed, 0 dropped
> INFO:remove_session: RTCP stats: 3 in from callee, 1 in from caller,
> 4 relayed, 0 dropped
> INFO:remove_session: session on ports 43750/55796 is cleaned up
> DBUG:reconnect_timeout_handler: reconnecting timeout socket
> ERR:reconnect_timeout_handler: can't create timeout socket: Address
> family not supported by protocol
> ERR:do_timeout_notification: unable to send timeout notification
>
> Above the error message.
>
> [root@devel ~]# md5sum rtpproxy-carsten.tar.gz
> c02b1e2ac57d39562e86bcfc4ee592b8 rtpproxy-carsten.tar.gz
>
> Thanks,
> Alexandre.
>
> -----Mensagem original-----
> De: kaiserbock2(a)googlemail.com [mailto:kaiserbock2@googlemail.com] Em
> nome de Carsten Bock Enviada em: quarta-feira, 16 de março de 2011
> 13:03
> Para: Alexandre Abreu
> Cc: sr-users(a)lists.sip-router.org
> Assunto: Re: RTPPROXY timeout patch.
>
> Hi Alexandre,
>
> That is strange:
>
> I run the RTP-Proxy like this (directly from the TAR-File, i sent
> you) and Kamailio with attached config-file.
>
> bock@bock-tde:~/ims/rtpproxy$ sudo ./rtpproxy -T 10 -f -F -i -l
> 127.0.0.1 -s udp:*:22222 -d DBUG -n tcp:127.0.0.1
> rtpproxy: Timer started.
> INFO:main: rtpproxy started, pid 4203 [... Kamailio connects to
> RTP-Proxy...]
> DBUG:handle_command: received command "4259_8
> UAc98,97,99,104,3,0,8,9,96 56f0f83a-5373-46a1-b6f6-9ce2f93e68d5
> 195.71.4.203 4008 5371f039-40d0-4944-aae7-6f75071a2f8c;1"
> INFO:handle_command: new session
> 56f0f83a-5373-46a1-b6f6-9ce2f93e68d5,
> tag 5371f039-40d0-4944-aae7-6f75071a2f8c;1 requested, type strong
> INFO:handle_command: new session on a port 45508 created, tag
> 5371f039-40d0-4944-aae7-6f75071a2f8c;1
> INFO:handle_command: pre-filling caller's address with
> 195.71.4.203:4008
> DBUG:doreply: sending reply "4259_8 45508 127.0.0.1 "
> DBUG:handle_command: received command "4259_9 LAc98,96
> 56f0f83a-5373-46a1-b6f6-9ce2f93e68d5 195.71.4.203 4000
> 5371f039-40d0-4944-aae7-6f75071a2f8c;1
> 9915df0c-30fc-49c5-aa8a-c86b4242c094;1
> xmlrpc:http://localhost:8000/RPC2"
> INFO:handle_command: lookup on ports 45508/45238, session timer
> restarted
> INFO:handle_command: setting custom timeout handler
> (xmlrpc:http://localhost:8000/RPC2)
> INFO:handle_command: pre-filling callee's address with
> 195.71.4.203:4000
> DBUG:doreply: sending reply "4259_9 45238 127.0.0.1 "
> INFO:process_rtp: session timeout
> ERR:rtpp_notify_schedule: XMLRPC xmlrpc:http://localhost:8000/RPC2
> INFO:remove_session: RTP stats: 0 in from callee, 0 in from caller, 0
> relayed, 0 dropped
> INFO:remove_session: RTCP stats: 0 in from callee, 0 in from caller,
> 0 relayed, 0 dropped
> INFO:remove_session: session on ports 45508/45238 is cleaned up
> ERR:do_timeout_notification: Timeout socket:
> xmlrpc:http://localhost:8000/RPC2
>
> And it works for me:
>
> U 2011/03/16 16:50:14.350721 127.0.0.1:5060 -> 127.0.0.1:15061 BYE
> sip:2@127.0.0.1:15061;ob SIP/2.0.
> Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK06e9.245e2dd7.0.
> To: sip:2@localhost;tag=5371f039-40d0-4944-aae7-6f75071a2f8c.
> From: sip:1@localhost;tag=9915df0c-30fc-49c5-aa8a-c86b4242c094.
> CSeq: 7905 BYE.
> Call-ID: 56f0f83a-5373-46a1-b6f6-9ce2f93e68d5.
> Content-Length: 0.
> User-Agent: kamailio (3.2.0-dev2 (x86_64/linux)).
> Max-Forwards: 70.
> .
>
> U 2011/03/16 16:50:14.350801 127.0.0.1:5060 -> 127.0.0.1:15060 BYE
> sip:1@127.0.0.1:15060;transport=UDP;ob SIP/2.0.
> Via: SIP/2.0/UDP 127.0.0.1;branch=z9hG4bK06e9.345e2dd7.0.
> To: sip:1@localhost;tag=9915df0c-30fc-49c5-aa8a-c86b4242c094.
> From: sip:2@localhost;tag=5371f039-40d0-4944-aae7-6f75071a2f8c.
> CSeq: 7905 BYE.
> Call-ID: 56f0f83a-5373-46a1-b6f6-9ce2f93e68d5.
> Content-Length: 0.
> User-Agent: kamailio (3.2.0-dev2 (x86_64/linux)).
> Max-Forwards: 70.
> .
> [...]
>
> Maybe, you can add some more debug-info from RTP-Proxy...
> And can you verify, that the RTP-Proxy is not trying to send the request?
>
> Kind regards,
> Carsten
>
> 2011/3/16 Alexandre Abreu <alexandre.abreu(a)redt.com.br>br>:
>> Hi Carsten,
>>
>> Even with your RTPPROXY tarball I was unable to get this working.
>> Session remains after RTPPROXY timeout.
>> I am using KAMAILIO 3.1 branch from GIT and as I told you, I moved
>> the rtpproxy/ from GIT-MASTER to the Kamailio branch (waiting your
backport).
Is
there anything else regarding this feature that
should also should
be
moved
(beyond rtpproxy/)?
Thanks,
Alexandre
--
Carsten Bock
http://www.ng-voice.com
mailto:carsten@ng-voice.com
--
Carsten Bock
http://www.ng-voice.com
mailto:carsten@ng-voice.com