The error was in Mediaproxy.
In rtphandler.py i changed
nonPublicNetworks = [ {'name': '0.0.0.0', 'value': 0x00000000L, 'mask': 0xff000000L}, {'name': '10.0.0.0', 'value': 0x0a000000L, 'mask': 0xff000000L}, {'name': '127.0.0.0', 'value': 0x7f000000L, 'mask': 0xff000000L}, {'name': '172.16.0.0', 'value': 0xac100000L, 'mask': 0xfff00000L}, {'name': '192.168.0.0', 'value': 0xc0a80000L, 'mask': 0xffff0000L}, {'name': '224.0.0.0', 'value': 0xe0000000L, 'mask': 0xf0000000L} ]
To
nonPublicNetworks = [ {'name': '0.0.0.0', 'value': 0x00000000L, 'mask': 0xff000000L}, {'name': '10.0.0.0', 'value': 0x0a000000L, 'mask': 0xff000000L}, {'name': '127.0.0.0', 'value': 0x7f000000L, 'mask': 0xff000000L}, {'name': '224.0.0.0', 'value': 0xe0000000L, 'mask': 0xf0000000L} ]
I think Mediaproxy got confused with the RFC1918 IP's. In my setup there is no NAT between 172.17.0.0/16 and 192.168.0.0/24 - just a router.
On 9/21/07, Norman Brandinger norm@goes.com wrote:
Is there a firewall in the picture ? You have two different subnets and there probably is a box doing some (NAT) translation / routing between them. Is is possible the RTP stream is being blocked at the firewall ?
Norm
Morten Isaksen wrote:
Hi!
I can see in the mediaproxy log the it is initialized to proxy the call, but I newer get a "session xxxxx: called signed in from xxx" from Asterisk.
session.py shows that the the connection between mediaproxy and Asterisk is missing.
I will try to take a look at the sip debug from asterisk and try to change the NAT settings in Asterisk.
Thanks for your input.
On 9/20/07, Norman Brandinger norm@goes.com wrote:
You stated that you've forced every call through mediaproxy. Are you positive ?
Have you taken a look at the mediaproxy logs (and/or sessions.py when the call is up) ? They might provide some useful information to you.
Ditto for Asterisk "sip set debug on" (note that the sip debug command format is a moving target).
Have you looked at the "nat=" settings in sip.conf as well ? At times, they tie closely with "canreinvite=".
Norm
Morten Isaksen wrote:
Hi!
canreinvite is set to no and the OpenSER/mediaproxy is "hiding" the clients IP-addresses from Asterisk, so I am pretty sure that this is not the issue.
On 9/20/07, Norman Brandinger norm@goes.com wrote:
Hi Morten,
Admittedly, I haven't looked closely at your trace. However, based on the description you gave, the first place to look is at the "canrevite" setting in Asterisk sip.conf. You might want to try "canreinvite=no" after reading up on this particular setting.
Regards, Norm
Morten Isaksen wrote:
Hi!
I have a strange problem with a missing RTP stream between OpenSER and Asterisk. I am not sure if it is OpenSER og Asterisk related.
I have this setup
Phone A (172.17.96.17) -- \ Openser -- Asterisk -- PSTN / (192.168.0.6) (192.168.0.3) Phone B (172.17.96.10) -- (172.17.64.1)
I also have a Mediaproxy running on OpenSER and I force every call to use the Mediaproxy.
I call from Phone A or B to the PSTN works fine and from PSTN to Phone A or B it also works.
I have the dialplan logic on my Asterisk server so I want calls from Phone A to Phone B to pass the Asterisk server. And this is were I have the problem. When the call is established the RTP stream is missing between Mediaproxy and Asterisk. I only have a RTP stream between the phones and Mediaproxy. As far as I can see the SIP signalling is correct.
The SIP traces is listed below. Can you spot the problem in this?
I will buy a beer (or 5) at OpenSER training in Rome to anyone who can help me solve this problem.
SIP trace between the phones and OpenSER: