[sr-dev] [ openser-Feature Requests-1875757 ] Add "Reason" header as tm parameter for CANCEL when forking

SourceForge.net noreply at sourceforge.net
Wed Dec 22 15:03:53 CET 2010

Feature Requests item #1875757, was opened at 2008-01-20 14:01
Message generated for change (Comment added) made by ibc_sf
You can respond by visiting: 

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: None
>Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Iñaki Baz Castillo (ibc_sf)
Assigned to: Nobody/Anonymous (nobody)
Summary: Add "Reason" header as tm parameter for CANCEL when forking

Initial Comment:
Hi, according to RFC 3326 [1] (Reason Header):

3.1 Call Completed Elsewhere

   A proxy forks an INVITE request and one of the
   branches returns a 200 (OK).  The forking proxy
   includes this status code in a Reason header
   field in the CANCEL request that it sends to the
   rest of the branches.

     Reason: SIP ;cause=200 ;text="Call completed elsewhere"

With this behaviour, if an AoR is registered in two phones and one of them answers a call, that call will not appear as MISSED in the other phone (if the phone supports "Reason" headers).

This could be implemented as new "tm" parameters:

  modparam("tm", "add_reason_200_flag", 26)
  modparam("tm", "add_reason_200_text", "Call completed elsewhere") modparam("tm", "add_reason_200_text_avp", "$avp(i:26)")

The last parameter would be an AVP containing the text to send in CANCEL "Reason" header if the call has been replied with 200 in other branch. If not set, default value ("add_reason_200_text") would be used.

To add "Reason" header, flag(26) should be set before transaction creation:

  switch($rc)	{
    case 1:
      setflag(26);  # Add "Reason" header in CANCELLED branches.
      $avp(i:26)="Call answered in other phone";

[1] RFC 3326 - The Reason Header Field: http://www.faqs.org/rfcs/rfc3326.html


>Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2010-12-22 15:03

Hi aregr, this feature is already implemented in Kamailio/SIp-Router 3.X.


Comment By: aregr (aregr)
Date: 2010-12-22 12:23

This would be a very useful feature indeed for all those with forking
setups.  Also seems that we have a steady growing number of phone
manufacturers supporting this feature as well.

Who could fix this?  -Should not be too difficult to implement?


Comment By: Olle E. Johansson (oej)
Date: 2008-06-30 22:09

Logged In: YES 
Originator: NO

I added this to Asterisk a short while ago. I think it would be very
useful in OpenSER too.


You can respond by visiting: 

More information about the sr-dev mailing list