<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:10px"><div id="yui_3_16_0_ym19_1_1505421476365_14047"><span id="yui_3_16_0_ym19_1_1505421476365_14046">Sorry, I was not clear, Ben. Yes, the messages are properly being sent with the "chosen" response code. I was just looking to clean up or suppress the error messages since I have been seeing it in the logs. I was also concerned it might cause other issues or that I was going about it in the wrong way.</span></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 10px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> On Thursday, September 14, 2017 2:07 PM, Ben Newlin <Ben.Newlin@genesys.com> wrote:<br></font></div>  <br><br> <div class="y_msg_container"><div id="yiv8647560959"><style>#yiv8647560959 #yiv8647560959 --
 
 _filtered #yiv8647560959 {panose-1:2 4 5 3 5 4 6 3 2 4;}
 _filtered #yiv8647560959 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}
 _filtered #yiv8647560959 {panose-1:2 0 5 3 0 0 0 2 0 4;}
#yiv8647560959  
#yiv8647560959 p.yiv8647560959MsoNormal, #yiv8647560959 li.yiv8647560959MsoNormal, #yiv8647560959 div.yiv8647560959MsoNormal
        {margin:0in;margin-bottom:.0001pt;font-size:11.0pt;}
#yiv8647560959 a:link, #yiv8647560959 span.yiv8647560959MsoHyperlink
        {color:#0563C1;text-decoration:underline;}
#yiv8647560959 a:visited, #yiv8647560959 span.yiv8647560959MsoHyperlinkFollowed
        {color:#954F72;text-decoration:underline;}
#yiv8647560959 span.yiv8647560959EmailStyle17
        {color:windowtext;}
#yiv8647560959 span.yiv8647560959msoIns
        {text-decoration:underline;color:teal;}
#yiv8647560959 .yiv8647560959MsoChpDefault
        {font-size:10.0pt;}
 _filtered #yiv8647560959 {margin:1.0in 1.0in 1.0in 1.0in;}
#yiv8647560959 div.yiv8647560959WordSection1
        {}
#yiv8647560959 </style><div>
<div class="yiv8647560959WordSection1">
<div class="yiv8647560959MsoNormal">One thing that was unclear is whether this is currently working and you are just concerned about the error or whether it doesn’t work at all.</div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959MsoNormal">I believe it should work and the key to why you are getting errors is in the error message itself:</div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959MsoNormal">“provisional or positive final replies”</div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959MsoNormal">Are you validating prior to attempting to change the reply status that it is a 302 reply? Most servers will send at least a 100 Trying response and sometimes other responses. When you arm the reply route, all replies will be delivered to
 it, not just the final reply. Although I’m not sure if that is the case for 100 Trying responses.</div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959MsoNormal">At any rate, I would do a trace to see if the server is only returning a 302, or if it is also returning some other provisional or final reply when the errors occur. If so, you should add code to only attempt to change the reply status
 when it is the expected reply (302).</div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959MsoNormal">Ben Newlin</div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959MsoNormal">  </div> 
<div class="yiv8647560959yqt7449305769" id="yiv8647560959yqt50031"><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;">
<div class="yiv8647560959MsoNormal"><b><span style="font-size:12.0pt;color:black;">From: </span></b><span style="font-size:12.0pt;color:black;">Users <users-bounces@lists.opensips.org> on behalf of mwb via Users <users@lists.opensips.org><br clear="none">
<b>Reply-To: </b>mwb <mwbazdarich@yahoo.com>, OpenSIPS users mailling list <users@lists.opensips.org><br clear="none">
<b>Date: </b>Thursday, September 14, 2017 at 3:02 PM<br clear="none">
<b>To: </b>"users@lists.opensips.org" <users@lists.opensips.org><br clear="none">
<b>Subject: </b>[OpenSIPS-Users] Changing Reply Response Code</span></div> 
</div>
<div>
<div class="yiv8647560959MsoNormal">  </div> 
</div>
<div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">Hello and thanks in advance for the help.</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">I have an OpenSIPS process that is set up to send routing responses back to a few SBCs we have. When the SBC sends an INVITE w/o
 RN or NPDI in the RURI, OpenSIPS passes the INVITE along to another server which returns a 302 response with the RN and NPDI information in a contact header. The RN/NPDI info is then incorporated into the response sent back to the SBC. We have a few different
 SBCs that expect different response codes, some 300 and some 302. (we are adding steering digits into the contact header).</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">If the SBC expects a 300 and the call comes through without RN/NPDI we use the below code in the "reply" route for the INVITE that
 OpenSIPS sends to the other server in order to accomodate the 300 (the $avp is filled when the SBC initiating the call is recognized).</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47961">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">switch($avp(sip_response_code)){</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47964">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">case "300":</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47967">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">change_reply_status("300","Multiple Choices");</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47970">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">break;</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47973">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">case "302":</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47976">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">change_reply_status("302","Moved Temporarily");</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47979">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">break;</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47982">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">default:</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47985">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">change_reply_status("302","Moved Temporarily");</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47988">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">}</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47991">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47730">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">We am receiving the following error message from OpenSIPS when the above is executed:</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47736">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">"ERROR:sipmsgops:change_reply_status_f: the class of provisional or positive final replies cannot be changed"</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47736">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_47736">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">If the INVITE we receive from the SBC has the RN/NPDI information in it then we DO NOT need to send the call on to another server
 and thus, after building our response we can use the following code:</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48261">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">switch($avp(sip_response_code)){</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48264">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">case "300":</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48267">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">sl_send_reply("300","Multiple Choices");</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48270">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">break;</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48273">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">case "302":</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48276">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">sl_send_reply("302","Moved Temporarily");</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48279">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">break;</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48282">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">default:</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48285">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">sl_send_reply("302","Moved Temporarily");</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48288">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">}</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">This works without issue, I assume because we are generating a fresh reply rather than proxying the reply from the RN/NPDI server.</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">Is there a way to avoid the "the class of provisional or positive final replies cannot be changed" error? </span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">Are we going about this in the wrong way when we need to send an INVITE to the other server in order to get the RN/NPDI information?</span><span style="font-size:7.5pt;"></span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:7.5pt;">  </span></div> 
</div>
<div id="yiv8647560959yui_3_16_0_ym19_1_1505337780799_48291">
<div class="yiv8647560959MsoNormal" style="background:white;"><span style="font-size:10.0pt;">thanks!</span><span style="font-size:7.5pt;"></span></div> 
</div>
</div></div>
</div>
</div></div><br><br></div>  </div> </div>  </div></div></body></html>