Hi, Community!
This topic talks about what is SIP Forking.
What is SIP Forking
Sometimes a proxy server forwards a single SIP call to multiple SIP endpoints. This process is known as forking. Here a single call can ring many endpoints at the same time.
With SIP forking, you can have your desk phone ring at the same time as your softphone or a SIP phone on your mobile, allowing you to take the call from either device easily.
Generally, in an office, suppose the boss unable to pick the call or away, SIP forking allows the secretary to answer calls his extension.
Forking will be possible if there is a stateful proxy available as it needs to perform and response out of the many it receives.
We have two types of forking:
Parallel Forking
Sequential Forking
Parallel Forking
In this scenario, the proxy server will fork the INVITE to, say, two devices (UA2, UA3) at a time. Both the devices will generate 180 Ringing and whoever receives the call will generate a 200 OK. The response (suppose UA2) that reaches the Originator first will establish a session with UA2. For the other response, a CANCEL will be triggered.
Parallel_forking

If the originator receives both the responses simultaneously, then based on q-value, it will forward the response.
Sequential Forking
In this scenario, the proxy server will fork the INVITE to one device (UA2). If UA2 is unavailable or busy at that time, then the proxy will fork it to another device (UA3).
sequential_forking

Thanks for your reading!
source: tutorialspoint.com
