Issue
Delayed audio during transferred calls using SIP REFER in Elastic SIP Trunking. Specifically, audio from the transfer target is not reaching the transferee promptly. This is caused by incorrect SIP signaling, where the transferor fails to send a BYE request to Twilio resulting in overlapping audio streams and ultimately no audio being delivered to the transferee.
Product
Elastic SIP Trunking
Cause
Twilio received a SIP REFER request from the PBX to transfer the call to another PSTN number. When the transferee answered, Twilio sent a NOTIFY request on the original call leg with the header Subscription-State=terminated. At this point, the transferor/PBX was expected to immediately send a BYE request to end the original call leg. However, the transferor did not send the BYE request promptly, resulting in overlapping audio streams and causing the transferee to experience no audio. If the BYE is not received, Twilio waits 32 seconds after sending the NOTIFY before terminating the original call leg itself. Once Twilio sends the BYE and the original call leg is ended, audio resumes correctly between the transferee and the transfer target.
Resolution
Your PBX system should comply with SIP RFC standards by sending a BYE request upon receiving a NOTIFY request with the header Subscription-State=terminated. Failure to follow proper SIP signaling as defined by the RFC may result in unexpected behavior during transferred calls.