[SR-Users] Routing outgoing call from asterisk to registered SIP provider
Daniel-Constantin Mierla
miconda at gmail.com
Wed Oct 28 13:45:07 CET 2015
On 27/10/15 23:44, Bruno Salzano wrote:
> Hello Daniel,
>
> Il 27/10/15 11:41, Daniel Tryba ha scritto:
>> On Tuesday 27 October 2015 07:36:15 Bruno Salzano wrote:
>>> It seems that when i route the call outbound, i get a 407. So i
>>> would like
>>> to react to this using uac_auth() as described here:
>>> http://kamailio.org/docs/modules/4.3.x/modules/uac.html#uac.f.uac_auth()
>>>
>>>
>>> Is this the right way? Can someone help me, giving hints and some
>>> working
>>> example?
>> Based on the info you have given I'd say this is correct. The working
>> code is
>> in the URL you provide. Adding a specific failure route in the
>> FROMASTERISK
>> when ds_is_from_list matches to the uac_auth() function is the way to
>> go.
> I got it working. It required me to enable the track_cseq_updates in
> dialog module and use uac_auth(). Actually my config is the following:
>
> route[FROMASTERISK] {
> if (ds_is_from_list()) {
> xlog("L_INFO","[$fU@$si:$sp]{$rm} {$ru} Call from Media-Server
> Cluster\n");
> rtpengine_manage("direction=internal direction=external
> replace-origin replace-session-connection trust-address");
> uac_replace_from("", "sip:NUMBER at HOST");
> route(RELAY);
> exit;
> }
> }
>
>
> failure_route[TRUNKAUTH] {
> xlog("L_INFO","TRUNKAUTH FAILURE ROUTE");
> if (t_is_canceled()) {
> exit;
> }
> if(t_check_status("401|407")) {
> xlog("L_INFO", "Got 401/407 sending uac_auth() and t_relay()");
> $avp(auser) = "USERNAME";
> $avp(apass) = "SECRET";
> $avp(arealm) = "REALM";
> uac_auth();
> t_relay();
> exit;
> }
> }
>
> Now I've just last question on this topic: what's the best way to
> replace credentials (USERNAME, SECRET, REALM) from db?
> I've to manage also the uac_replace_from.
> What I want is to avoid to change the configuration everytime a new
> trunk is added.
>
You can use sqlops to load values from a database table. Or htable,
which has the benefit of storing it in memory at runtime, but you can
still issue reload commands when new values are set.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat
More information about the sr-users
mailing list