<div dir="ltr"><div>Hello! provider trunks registration on kamailio UAC?! it's clear.</div><div>but how does asterisk find out through which trunk the call should be made? </div><div>I tried to set the header from asterisk dialplan. </div><div>for example:</div><div><br></div><div><br></div><div><br></div><div> if (is_method("INVITE")) {</div><div>                                 #record_route_preset("109.195.102.122");</div><div><br></div><div><br></div><div><br></div><div><br></div><div>        route(DIRECTION);</div><div><br></div><div><br></div><div>        setflag(FLT_ACC); # do accounting</div><div>        }</div><div><br></div><div><br></div><div><br></div><div>#        ------ LOADBALANCE ROUTE ------------ #</div><div>if(!ds_is_from_list()) {</div><div>route(DISPATCH);</div><div>}</div><div><br></div><div>route[DISPATCH] {</div><div>        #round robin dispatching on gateways group '1'</div><div>        if(!ds_select_dst("1", "4"))</div><div>                {</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>                send_reply("404", "No destination");</div><div>                exit;</div><div>        }</div><div>        xlog("L_DBG", "--- SCRIPT: going to <$ru> via <$du>\n");</div><div>        t_on_failure("RTF_DISPATCH");</div><div><br></div><div>route(NATMANAGE);</div><div>route(DRELAY);</div><div>        exit;</div><div>}</div><div><br></div><div><br></div><div>route[DIRECTION] {</div><div><br></div><div>                 if ($hdr(x-trunk)  != $null) {</div><div><br></div><div>                 if (!is_method("BYE")){</div><div>                                        $fu="";</div><div>                                        t_on_failure("MANAGE_FAILURE");</div><div>                                        $dlg_ctx(timeout_route) = "DIALOG_END";</div><div>                                        $avp(i:10)=43200;</div><div>                                        $dlg_ctx(timeout_bye) = 0;</div><div>        sql_pvquery("ca", "select l_uuid, auth_username, auth_password, realm, l_domain, r_domain  from uacreg where id='$hdr(x-trunk)'", "$avp(uuid), $avp(uname), $avp(passwd), $avp(realm), $avp(src_ipaddr), $avp(dst_ipaddr)");</div><div>                                        t_on_failure("MANAGE_FAILURE");</div><div>                                        $dlg_ctx(timeout_route) = "DIALOG_END";</div><div>                                        $avp(i:10)=43200;</div><div>                                        $dlg_ctx(timeout_bye) = 0;</div><div><br></div><div>                $fu="";</div><div>                uac_replace_from("sip:$avp(uname)@$avp(dst_ipaddr)");</div><div>                $tu="sip:"+$tU+"@"+$avp(dst_ipaddr);</div><div>                $ru="sip:"+$tU+"@"+$avp(dst_ipaddr);</div><div>                remove_hf("Contact");</div><div>                $var(contact)="sip:"+$avp(uname)+"@<a href="http://10.49.9.2:5060">10.49.9.2:5060</a>";</div><div>                insert_hf("Contact: <$var(contact)>\r\n");</div><div>                #insert_hf("Contact:  ");</div><div>                msg_apply_changes();</div><div>                fix_nated_register();</div><div>                xlog("L_INFO","Contact header $var(contact) 111111111111111111111111111111111111111 is $ct {$ct}\n");</div><div>                route(RELAY);</div><div> }      #### BYE</div><div><br></div><div>}       ### XTRUNK<br><br><div>But in this configuration I do not come bye</div><div>but when I register providers trunks on asterisk - problem with BYE not visible. <br>but I can not register provider-trunks on all the asterisks, because incoming invite arrives at the link + address, and all the asteriscs ring. All my asterisk's behind nat</div><br><br><br></div></div>