How to forward the call?

Forward call lets your softphone automatically redirect an incoming call to another destination without answering it first, so the caller is seamlessly routed to the target number.

Another very convenient function is forward call, which you can use when you want all incoming calls on one line to be transparently redirected to another endpoint, such as your mobile phone while you are away from the office. Instead of picking up and transferring manually, the softphone invokes ForwardCall and sends a new INVITE toward the configured destination, ensuring the caller’s phone experience is the same as if they had dialed that number directly. This behavior is driven by SIP signaling (Forward PDU and Forward ACK PDU), allowing your application to implement flexible call redirection policies without remaining in the media path.

ForwardCall: without answering the call, we can set the softphone to redirect the incoming call to an other destination. (For example: if we leave our office, we can forward the office's phone's incoming calls to our mobile phone.)

if (call != null)
{
	call.Forward(destination);
}

Call flow diagram

The diagram below illustrates a full SIP Forward call flow.

sequenceDiagram participant Caller as Original Caller participant Softphone as Softphone (Forwarding) participant Target as Forward Destination/PBX Caller->>Softphone: Incoming SIP INVITE Softphone->>Softphone: ForwardCall(destination) logic Softphone->>Target: SIP INVITE (forwarded call) Target-->>Softphone: 100 Trying Target-->>Softphone: 180 Ringing Target-->>Softphone: 200 OK (forward leg) Softphone->>Target: ACK (forward leg) Softphone-->>Caller: SIP 302 / redirect or equivalent Caller->>Target: SIP INVITE (caller-to-destination) Target-->>Caller: 100 Trying Target-->>Caller: 180 Ringing Target-->>Caller: 200 OK Caller->>Target: ACK Softphone->>Softphone: Release local media, step out of call Caller->>Target: Media flows between caller and forward destination

Capture SIP call forward traffic with Wireshark

SIP Forward PDU

A SIP Forward PDU is the SIP message sequence triggered when an incoming call is forwarded to another destination without being answered by the original softphone. It typically involves a new INVITE being sent toward the target number, reusing core dialog identifiers like Call-ID and From/To headers while updating the Request-URI to point to the forwarded endpoint. In practice, this PDU represents the signaling behind the ForwardCall or BlindTransfer logic, ensuring the remote party’s phone rings as if it had been dialed directly.

SIP Forward PDU
SIP Forward PDU

SIP Forward ACK PDU

A SIP Forward ACK PDU is the acknowledgment that completes the INVITE/200 OK handshake for the forwarded leg of the call once the target endpoint has accepted the forwarded INVITE. It confirms that the new dialog with the forwarded destination is fully established by echoing the Call-ID, tags and CSeq of the successful forward transaction. After this ACK, media streams flow between the original caller and the forwarded destination, while the softphone that initiated the forward can safely step out of the conversation according to its transfer logic.

SIP Forward ACK PDU
SIP Forward ACK PDU


More information