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

SourceForge.net noreply at sourceforge.net
Mon Jun 30 22:09:41 CEST 2008


Feature Requests item #1875757, was opened at 2008-01-20 13:01
Message generated for change (Comment added) made by oej
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1875757&group_id=139143

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: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Iaki Baz (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:


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




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

----------------------------------------------------------------------

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

Message:
Logged In: YES 
user_id=7341
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: 
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1875757&group_id=139143



More information about the Devel mailing list