Hi, Cedric!
If you double checked the PCAP and you really are missing the flow from
RTPProxy to callee, I take your word for it. Pehaps the logging is
misleading.
Now, if RTPProxy does not send any packet to the callee, this means that
it doesn't get any packets from him. This means that there is something
wrong with the flow from callee to RTPProxy (192.168.157.141:12704 to
192.168.157.121:17226). If you see it in the PCAP on the RTPProxy
machine, it might be blocked at the firewall level?
Another thing that you could try: I saw that you are passing the "a"
flag to the rtpproxy functions. Do you really need it? Can you try to
remove it and test again?
Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 10/26/2016 03:46 PM, Cédric ML wrote:
Hello Razvan,
Le 26/10/2016 à 13:52, Răzvan Crainea a écrit :
Hi, Cedric!
Are you sure that the flows you do not see are the ones you
mentioned? According to the logs, you do not see the RTP coming from
the caller:
RTP stats: 410 in from callee, 0 in from caller
Do these stats work correctly when rtpproxy works in bridge mode ?
Seems like it only watches on "internal" side of bridge, not on
"external" side.
Caller is 222.251.208.61 (external side, asterisk server), and callee
is 192.168.157.141 (internal side, asterisk server too)
stream from 222.251.208.61:18592 to 111.122.100.20:17826 : OK (rtp
stream from caller to rtpproxy)
stream from 192.168.157.121:17226 to 192.168.157.141:12704 : MISSING
(rtp stream from rtpproxy to callee)
stream from 192.168.157.141:12704 to 192.168.157.121:17226 : OK (rtp
stream from callee to rtpproxy)
stream from 111.122.100.20:17826 to 222.251.208.61:18592 : OK (rtp
stream from rtpproxy to caller)
So the missing flow is RTP from the rtpproxy to the callee.
So the problem seems to be not on the private network, but on the
public one. Or there is a reporting bug in RTPProxy :).
What's the user experience for this call? Do any of the participants
hear each other? Also, where are you doing the trace of the RTP?
I'm capturing on the opensips / rtpproxy host.
I can't tell you anything about the user experience, I'm using
asterisk to generate a call ('originate') and stream a sound file, and
the callee is an asterisk too, which just answers and plays a sound file.
I can send you an example pcap file if you need it.
Thank you for your help !!!
Best regards,
Cédric
Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 10/26/2016 12:35 PM, Cédric ML wrote:
I've made a new test, replacing mediaproxy "external" address by
111.122.100.18 (which is the SIG address).
It works fine (rtp stream is complete), but that's not what I'm
trying to do. I need to have a different address for the SIG and for
the MEDIA.
Hope it helps...
Regards,
Cédric
Le 26/10/2016 à 10:39, Cédric ML a écrit :
Hello,
I'm trying to set up opensips (v2.2.2) and rtpproxy
(2.0.beta.20150106) one the same server, using loopback interfaces.
------------------------------
network config :
lo:2 : inet 111.122.100.18/32 (SIG address)
lo:4 : inet 111.122.100.20/32 (MEDIA address)
eth1 : 192.168.157.121/24
routing :
222.251.208.61 via 192.168.157.1 dev eth1 src 111.122.100.18
222.251.120.61 via 192.168.157.1 dev eth1 src 111.122.100.20
------------------------------
opensips setup :
listen=udp:0.0.0.0:5060
loadmodule "rtpproxy.so"
modparam("rtpproxy", "rtpproxy_sock",
"unix:/var/run/rtpproxy/rtpproxy.sock")
#routing
...
if (is_method("INVITE")) {
t_on_reply("handle_nat");
$rd="192.168.157.141";
if (has_body("application/sdp"))
{
rtpproxy_offer("afeiroc");
}
}
onreply_route[handle_nat] {
if ( has_body("application/sdp") ){
rtpproxy_answer("afieroc");
}
}
...
------------------------------
rtpproxy setup :
/usr/local/bin/rtpproxy -s unix:/var/run/rtpproxy/rtpproxy.sock
-u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy.pid -l
192.168.157.121 111.122.100.20 -d DBUG LOG_LOCAL5 -m 10000 -M 20000
-w rw
------------------------------
When I'm making a call from 222.251.208.61 :
- INVITE arrives on the external side of opensips (111.122.100.18),
SDP contains 222.251.208.61:18592
- INVITE is relayed on the internal side to 192.168.157.141, SDP is
modified to 192.168.157.121:17226
- 200 OK : 192.168.157.141 replies with a 200 OK, SDP contains
192.168.157.141:12704
- 200 OK : opensips relays 200 OK to 193.252.208.61, SDP is
modified to 111.122.100.20:17826
So everything looks good in the SDP.
Now looking to the rtp streams :
stream from 222.251.208.61:18592 to 111.122.100.20:17826 : OK
stream from 192.168.157.121:17226 to 192.168.157.141:12704 : MISSING
stream from 192.168.157.141:12704 to 192.168.157.121:17226 : OK
stream from 111.122.100.20:17826 to 222.251.208.61:18592 : OK
It seems that rtpproxy fails to bridge the "external -> internal"
part of the media.
rtpproxy debug :
Oct 26 10:05:04 localhost rtpproxy[775]: DBUG:get_command:GLOBAL:
received command "UAEIc8,101
36fe8745364f35b61411304154da2db3@222.251.208.61:5060 222.251.208.61
18592 as5f5f1868;1"
Oct 26 10:05:04 localhost rtpproxy[775]:
INFO:rtpp_command_ul_handle:GLOBAL: new session
36fe8745364f35b61411304154da2db3@222.251.208.61:5060, tag
as5f5f1868;1 requested, type strong
Oct 26 10:05:04 localhost rtpproxy[775]:
INFO:rtpp_command_ul_handle:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
new session on a port 17226 created, tag as5f5f1868;1
Oct 26 10:05:04 localhost rtpproxy[775]:
INFO:rtpp_command_ul_handle:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
pre-filling caller's address with 222.251.208.61:18592
Oct 26 10:05:04 localhost rtpproxy[775]: DBUG:rtpc_doreply:GLOBAL:
sending reply "17226 192.168.157.121#012"
Oct 26 10:05:05 localhost rtpproxy[775]: DBUG:get_command:GLOBAL:
received command "LAIEc8,101
36fe8745364f35b61411304154da2db3@222.251.208.61:5060
192.168.157.141 12704 as5f5f1868;1 as200acccf;1"
Oct 26 10:05:05 localhost rtpproxy[775]:
INFO:rtpp_command_ul_handle:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
lookup on ports 17226/17826, session timer restarted
Oct 26 10:05:05 localhost rtpproxy[775]:
INFO:rtpp_command_ul_handle:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
pre-filling callee's address with 192.168.157.141:12704
Oct 26 10:05:05 localhost rtpproxy[775]: DBUG:rtpc_doreply:GLOBAL:
sending reply "17826 111.122.100.20#012"
Oct 26 10:05:13 localhost rtpproxy[775]: DBUG:get_command:GLOBAL:
received command "D
36fe8745364f35b61411304154da2db3@222.251.208.61:5060 as5f5f1868
as200acccf"
Oct 26 10:05:13 localhost rtpproxy[775]:
INFO:handle_delete:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
forcefully deleting session 1 on ports 17226/17826
Oct 26 10:05:13 localhost rtpproxy[775]:
INFO:remove_session:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
RTP stats: 410 in from callee, 0 in from caller, 410 relayed, 0
dropped
Oct 26 10:05:13 localhost rtpproxy[775]:
INFO:remove_session:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
RTCP stats: 1 in from callee, 0 in from caller, 1 relayed, 0 dropped
Oct 26 10:05:13 localhost rtpproxy[775]:
INFO:remove_session:36fe8745364f35b61411304154da2db3@222.251.208.61:5060:
session on ports 17226/17826 is cleaned up
Oct 26 10:05:13 localhost rtpproxy[775]: DBUG:rtpc_doreply:GLOBAL:
sending reply "0#012"
I can't figure out what's wrong in my config. Can you please help me ?
Should I post this message on rtpproxy mailing list too ?
Best regards,
Cédric
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users