I am in process of migrating from 1.11 to 2.2.  We have a situation where we 
have a routing opensips that can make multiple attempts to complete a call.  
The information specific to each attempt is passed to the SBC opensips through 
headers.  In order to not double up on headers, I moved the code that calls 
append_hf to a branch.  As the call progresses, I update various AVP's and 
print them into the log (so I can see that they are being updated correctly).  
Below is an example scenario of what I am doing.

initial call setup logic
set the t_on_failure

setup for first carrier 
   setup headers with carrier information used by the SBC
   $avp(test) := "Step 1;";

on_failure (for example 480 - timeout)
   setup for the next carrier
      setup header for next carrier information used by the SBC
      $avp(test) := $avp(test) + "Step 2;";  # avp(test) now equal "Step 1;Step 

on_failure (for example 408 - timeout)
   no more carriers, end the call

What gets put into the cdr is "Step 1;" not "Step 1;Step 2;"

Also, the sip_code is set to the first failure received from the SBC, not the 

If the call completes successfully, the cdr data is correct.

Pat Burke

Users mailing list

Reply via email to