Situation:
Asterisk@Home on a LAN. All extensions are on the LAN. There are no natting or firewall issues.
This is a test server, we are looking at the asterisk platform. As such, we are making the buffalo on every nickel squeal - we are using 2 x X100P clones, one Sipura SPA-2000 ATA, on Sipura SPA-3000 ATA (just using the line1 FXS, NOT the FXO), and one X-Lite Soft Phone.
Problem
The X-Lite soft phone functions perfectly time after time with no issues.
A phone hooked to either line of the SPA-2000 or the Line1 of the SPA-3000 makes the first call normally and without issue.
On the second call, the Sipura gets no audio back from a call, the other party has no audio issues. The call ends when either of them hang up.
Looking at an Ethereal dump:
First Call
The Sipura sends an SIP/SD packet with a “Request: INVITE”. In the SD part, the Media Description PORT is 16464
A few packets later, the Asterisk sends an SIP/SD packet back to the Sipura with a “Status: 200 OK”. In the SD part, the Media Description PORT is 16414.
The RTP Packet exchange begins. The Sipura and the asterisk use the ports from the Session Description (From 16464 To 16414 and vice versa).
Second Call
The Sipura sends an SIP/SD packet with a “Request: INVITE”. In the SD part, the Media Description PORT is 16466
A few packets later, the Asterisk sends an SIP/SD packet back to the Sipura with a “Status: 200 OK”. In the SD part, the Media Description PORT is 16400.
The very next packet begins the RTP. For some reason, the Asterisk Server is sending FROM 16400, TO 16464 - IT CHANGED THE RTP PORT FOR THE EXTENSION
The Sipura sends back an ICMP Port Unreachable Packet to the Asterisk Server telling it that 16464 is a bad port.
The Sipura sends it’s RTP packets to the ports specified in the Session Desccription (FROM 16466 TO 16400).
The other party can hear the Sipura fine, the Sipura hears nothing.
Again, this does not happen on the first call, only on subsequest calls. This count seems to reset itself after a while. I thought I could change the registration timer and fix it, but that had no bearing.
When using the X-Lite Soft Phone, the Asterisk server always seems to send to the correct port - it never changes it. The X-Lite also has a setting for “RTP Rececive Port” which never changes either - it always uses 8000 by default.
Do you think the asterisk server assumes that the Sipura is always using the same RTP Receive port, no matter what the Session Description packet says? If so, is there a way to tell the asterisk server that the RTP receive port will change every call for the Sipura?
Any ideas or solutions??
Thanks in advance for anything!