[OpenSIPS-Users] B2B No TO TAG found

Anca Vamanu anca at opensips.org
Wed Apr 14 11:31:01 CEST 2010


Hi Antonio,

You have to call b2b_init on the initial INVITE that creates the dialog. 
And the B2B server will know to correctly treat the REFER when it comes. 
That REFER message in fact will never go in the default route but in the 
route with the name defined in the module parameter "script_req_route" 
http://www.opensips.org/html/docs/modules/devel/b2b_entities.html#id227305.

Regards,

-- 
Anca Vamanu
www.voice-system.ro





Antonio Anderson Souza wrote:
> Hi,
>
> I'm creating a B2B scnarios to handle Refer request and execute the 
> transfer process, I'm using the Refer scenario [1] as reference, but 
> when the UAC sends the Refer to Opensips and the Script call the 
> scenario and the following error is printed in the Log:
>
> *Apr 13 14:10:18 localhost opensips[8924]: 
> ERROR:b2b_entities:b2b_tm_**cback: No TO TAG found *
>
> Follow bellow my b2b scenario [2], and the Cfg snippet [3].
>
> [1] - http://www.opensips.org/Resources/B2buaTutorial#toc15
>
> [2] - B2B Scenario:
> <?xml version="1.0"?>
> <scenario id="b2b-refer" name="Handle refer at server" param="0" 
> type="script">
>   <init>
>     <bridge>
>       <server>
>         <id>server1</id>
>       </server>
>       <client>
>         <id>client1</id>
>         <type>message</type>
>         <destination>
>           <value type="header">Refer-To</value>
>         </destination>
>       </client>
>     </bridge>
>   </init>
>
>   <rules>
>      <request>
>        <refer>
>          <rule id="1">
>            <action>
>              <send_reply>
>                <code>202</code>
>                <reason>Accepted</reason>
>              </send_reply>
>              <end_dialog_leg/>
>              <bridge>
>                <client>
>                  <peer/>
>                </client>
>                <client>
>                  <id>client2</id>
>                  <destination>
>                    <value type="header">Refer-To</value>
>                  </destination>
>                </client>
>              </bridge>
>            </action>
>          </rule>
>        </refer>
>     </request>
>   </rules>
> </scenario>
>
>
>
> [3] - Cfg snippet
>
>         if (has_totag()) {
>                 # sequential request withing a dialog should
>                 # take the path determined by record-routing
>                 if (loose_route()) {
>                         if (is_method("BYE")) {
>                               
>   setflag(1); # do accounting ...
>                                 setflag(3); # ... even if the 
> transaction fails
>                         } else if (is_method("INVITE")) {
>                                 # even if in most of the cases is 
> useless, do RR for
>                                 # re-INVITEs alos, as some buggy 
> clients do change route set
>                                 # during the dialog.
>                                 record_route();
>                         } else if (is_method("REFER")) {
>                                 xlog("L_ERR",
>                                         "Refer received the b2b 
> scenario will be triggered [$fu/$tu/$ru/$ci]");
>                                 # Start B2B Script to handle the 
> transference
>                                 *b2b_init_request("b2b-refer");*
>                                 xlog("L_ERR",
>                                         "Refer processed by the b2b 
> scenario [$fu/$tu/$ru/$ci]");
>                                 exit;
>
>
> Does anybody have some idea to help me?
>
> Best regards,
>
> Antonio Anderson Souza
> Voice Technology
> http://www.antonioams.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   



More information about the Users mailing list