onsip / SIP.js

A simple, intuitive, and powerful JavaScript signaling library
https://sipjs.com
MIT License
1.88k stars 700 forks source link

Not able to send BYE or CANCEL in case of 2xx retransmission loop in SIP.js #998

Closed Aayushi-Mashru closed 2 years ago

Aayushi-Mashru commented 2 years ago

Describe the bug For some of our users we are facing the following issue when the 200 OK for answering the call is sent but ACK is not received for the same: sip.invite-dialog | No ACK for 2xx response received, attempting retransmission

After this the 200 OK keeps getting retransmitted, in such case I am not able to send BYE or CANCEL from the application side on pressing the hangup.

The call only terminates when SIP.js sends BYE after retransmissions.

Logs Have attached app logs file which contains the SIP packets logs from SIP.js

Expected behavior I should be able to send BYE / CANCEL in this case.

Observed behavior BYE / CANCEL not being sent until the retransmission loop is completed.

Environment Information

Callee_log.pdf

MarwaAbuEssa commented 2 years ago

Hi ,

I faced the same issue you have and discovered that creating multiple user agents causes this problem. you should initiate a user agent only once during your app running and then you can send register request as many times as you need but with only one user agent initiated .

I hope this help Thanks

john-e-riordan commented 2 years ago

Hi - this is not a bug. SIP.js is retransmitting the 200 Ok because it did not receive an ACK, which is what it is supposed to do. You might find some help in the google group if you are still having an issue. Thanks.