From what I have researched online, the key parameter in sip.conf is the ‘canreinvite’ one. This was working last week yet now it is not. Nothing has changed on the server side (our side) but it’s difficult to say if the customer’s equipment is causing some issue.
If an external DDI number is routed through to the Polycom, that audio works fine. It just appears to be the extension to extension calls. The other odd thing is that if I register two phones from my office to the same server and make a call between them… the RTP stream is fine!!
Any help would be appreciated. If you want more info/logs, let me know!
You are using an obsolete version of Asterisk, or your configuration file contains some settings that have gone from deprecated to obsolete (and where probably bad choices in the first place).
From what you have said, I would guess that you want directmedia=no (obsolete name canreinvite=no), as it seems likely that the phones don’t know how to directly route to the other phones. Alternatively, you need to improve your routing infrastructure.
You should also check for firewalls taking out the RTP stream on the direct path between the phones. Note that both source and destination port numbers will be set by the phones, not by Asterisk.
[quote=“david55”]You are using an obsolete version of Asterisk, or your configuration file contains some settings that have gone from deprecated to obsolete (and where probably bad choices in the first place).
From what you have said, I would guess that you want directmedia=no (obsolete name canreinvite=no), as it seems likely that the phones don’t know how to directly route to the other phones. Alternatively, you need to improve your routing infrastructure.
You should also check for firewalls taking out the RTP stream on the direct path between the phones. Note that both source and destination port numbers will be set by the phones, not by Asterisk.[/quote]
Hi David,
I’m using Asterisk 1.4.36. This is what we use at all of our customer sites.
How do I know what RTP stream it is wanting to use? Asterisk is set to use 10000-20000 and that is what our customer has allowed on their firewall.
The phones determine their RTP port number. Asterisk only determines the port number for its side of the media “connection”. As you have direct media enabled Asterisk can instruct the phones to talk directly to each other, in which case neither port number will be determined by Asterisk.
There is no mechanism, in SIP, to force the remote side to use a particular port number for their side of the “connection”.
[quote=“david55”]The phones determine their RTP port number. Asterisk only determines the port number for its side of the media “connection”. As you have direct media enabled Asterisk can instruct the phones to talk directly to each other, in which case neither port number will be determined by Asterisk.
There is no mechanism, in SIP, to force the remote side to use a particular port number for their side of the “connection”.[/quote]
David,
Ohhhhh I see! That makes sense.
So in my scenario, I need to have canreinvite=no or (from what I have just read in voip-info.org)… canreinvite=nonat?
canreinvite=no will force everything through Asterisk. As it is already working with media going through asterisk, that should work. However, it may generate a lot of excess traffic and poor voice quality. Setting the routing and firewalls to allow the phones to talk to each other is a better solution, if you can make it work.
Polycom uses 2222-2269 for their RTP traffic! This is also showing in some log files that I previously captured. Doh!
If only I had known about this, I wouldn’t have had to have done so much head scratching.
Thanks for all your help. Canreinvite=no has fixed the issue, but should we see a peak in traffic then I know that we can revert and open the correct RTP port range.