Is 100rel needed nowadays?

Status
Not open for further replies.

slayerphil

New Member
Apr 7, 2020
10
0
1
44
Hello

I'm migrating an old Freeswitch box over to Fusion, apparently ~5 years ago they had to enable 100rel to send calls to a certain destination, this caused some issue with precondition and they recompiled to remove precondition, apparently after that it was all fine :)

I was wondering if 100rel is needed nowadays? and if it was enabled would it re-enable preconditions in Fusion? I know there's a bug in the current build of FS where it automatically adds preconditions when it shouldnt.

Any advice is much appreciated.

Thanks
Phillip
 

Adrian Fretwell

Well-Known Member
Aug 13, 2017
1,498
413
83
Hi Philip, I'm UK based running VoIP since 2008 and commercially since 2016 and have never had the need to use 100rel.

1xx responses are classed as provisional responses like "100 Trying" or "180 Ringing". Unlike final responses (2xx - 6xx), which are acknowledged (ACK), originally there was no mechanism (especially with UDP) for a sender to know if a provisional response had been received.

So RFC 3262 was pulled together to describe a method for reliable transmission of 1xx responses. This involved sending a Provisional Response Acknowledgement (PRACK) in response to 1xx messages.

Normally a UAC will indicate that it can handle 100rel by adding a "Supported" header:
Code:
Supported: 100Rel

For each 100x message that a UAS wants to see a PRACK, it will add "Require" and "RSeq" headers:
Code:
Require: 100Rel
Rseq: 2

When a UAC sees a 1xx message with the "Require" and "RSeq" headers, it will reply with a PRACK containing the same RSeq number.

So by looking at the message flow (packet capture) to/from a given destination you can work out if 100rel is required or not.
 
  • Like
Reactions: slayerphil
Status
Not open for further replies.