I have the following scenario:
2 UAC are trying to talk, via a remote SIP server (openSER/Kamailio 3.1.3) = client infrastructure. The UAC software was developed over a local test infrastructure using Asterisk, where it was possible to establish a normal call.
The problem is that testing on the client infrastructure there's no audio.
I have no knowledge of the complete client infrastructure, but from the logs/responses from the server (Routing Header fields) can be concluded that there's a Proxy Authorization server, and a CiscoSystem SIP GW, as well as PSTN. And not least we're behind NAT and the client is also behind NAT. AFAIK there's no STUN sever used.
The main difference in the call flow is that in the testing infrastructure we always have received 180 Messages (Ringing), while in the client infrastructure we receive 183 Session in Progress. In the logs it's seen that both devices start to send rtp streams, but still there's no audio.
I also have a commercial software, with which we tested the client infrastructure and it works. We have compared the messages send from the commercial software, and our client and there's almost no difference.
The only difference I was able to find is that in the messages after the inv/407/ack loop:
commercial soft:
start fresh new branch number x
sends inv + auth string - branch/trans num x
gets response - branch/trans num x
send ack message - branch/trans num x
our client:
start fresh new branch number y
sends inv + auth string - branch/trans num y
gets response - branch/trans num y
send ack message - A FRESH new branch/transaction - z
Could this be a reason to result in lost audio problem? This same scenario works OK in Asterisk.