SIP response codes in Voice Platform
When you perform a transfer, SIP generates a response code to indicate the outcome of the transfer. Upon receiving this code, Voice Platform assigns a value to the transfer variable based on the response. In some cases, Voice Platform also throws an event based on this response.
The table below summarizes the different SIP response codes that Voice Platform may receive, the value that is then assigned to the transfer variable, and the event that is thrown (if any):
|
SIP response |
Value assigned to <transfer> variable |
Event thrown (if any) |
|---|---|---|
|
BYE from A before REFER |
undefined |
connection.disconnect.hangup |
|
cancelled before REFER |
near_end_disconnect |
|
|
NOTIFY 200 OK |
undefined |
connection.disconnect.transfer |
|
404 Not Found |
undefined |
error.connection.baddestination |
|
408 Request Timeout |
noanswer |
|
|
486 Busy Here |
busy |
|
|
503 Service Unavailable |
undefined |
error.connection.noresource |
|
504 Server Time-out |
network_busy |
|
|
200 OK (VBS sends BYE) |
undefined |
connection.disconnect.transfer |
|
BYE from C |
far_end_disconnect |
|
|
BYE from A (after call to C) |
undefined |
connection.disconnect.transfer |
|
(No response) |
noanswer |
|
|
(Other 3xx/4xx/5xx/6xx) |
unknown |
|
|
BYE from C with Reason header set to “network_disconnect” |
network_disconnect |
For more description of these outcomes, see the discussion of the <transfer> element.
For more information about these SIP response codes, see SIP RFC 3261, Section 21, Response Codes.