Jerlique Ban wrote:
In order for the call to not disconnect, the final ACK from caller (the ACK to the OK sent by the callee) must be received by the callee (Asterisk). So, your problem may be caused by your ser.cfg not handling ACKs properly. I have
The ACK is most certainly being received. I have confimed this by watching the 'sip debug' in asterisk. I neglected to mention in my first email that another phone through a different router (with NAT) work without issue. Its only this one phone.
What I do see at the time of losing audio, is another INVITE.
So, did the OK go through? And did Asterisk send the 100 Trying first? Probably notm because when the UA receices a 100 Trying, it should not resend the INVITE. You could try adding: sl_send_reply("100", "Trying"); Pretty early in your INVITE handling and before forwarding to asterisk. This should at least cause the UA to keep shut for awhile.
If I register the phone direct to Asterisk, it works without issue, its only having issues through SER.
I've got it working now, but I'm not sure what I did....
If not, have a look at the reference configs at http://onsip.org/ to see how ACKs are handled.
My config is based on one of their samples :)
Excellent! ;-)
PS: I've added a bunch of log() statements to the file, and can see the output on my terminal, however how do I record the src ip, or URI with the log function?
Use xlog (0.9.x). I have this right after all the "not supported" and integrity checks: # Log all messages xlog("L_INFO","%is sends %rm, r-uri:%ru, from:%fu, to:%tu, status:%rs\n");
g-)