To transfer a call between two user agents on SIP requires a lot of coordination. All the devices should support the REFER message and, for attended transfers, the Replaces and Referred-By headers. To explain how a transfer occurs, we will see a scenario where a PSTN user sends a call to the PSTN gateway, and this extension transfers the call to another extension—a typical scenario for an operator. We will see these scenarios for unattended (blind) and attended transfers.
Looking at the following call flow, you will notice that the function of the SIP proxy in a call transfer process is simply to relay messages between the gateway and endpoints. You do not need to change anything in the routing script to support transfers. However, you have to make sure that your gateway supports a REFER message and has a route to the extensions. A common mistake in this scenario is forgetting to insert a route in the PSTN gateway or Session Border Controller (SBC) pointing...