[SR-Users] Dynamic UAC Registration

Mack Hendricks mack at dopensource.com
Sun Jan 20 20:55:40 CET 2019


I’m using the dRouting module.  Is there a way to store the realm using this module?

Also, I don’t think I know the realm until the first time I send a Register or Invite to the carrier.  I could guess the realm, but we want to make sure we handle edge cases where the name of the realm is different then the domain name of the carrier.  

Sent from my iPhone

> On Jan 20, 2019, at 2:22 PM, Brandon Armstead <brandon at cryy.com> wrote:
> 
> I suspect you could check $rd or $du ?  Although I don’t quite understand why you won’t know the realm to begin with based on the selection? 
> 
>> On Sun, Jan 20, 2019 at 03:59 Mack Hendricks <mack at dopensource.com> wrote:
>> Hey All,
>> 
>> So, I want to use the UAC module to handle Digest Auth to upstream carriers.  But, I don’t know which carrier will be selected until another module (dRouting in this case) tells the logic which carrier to use.
>> 
>> I can see in the logs that the uac_auth function can capture the Auth Realm.  But, I need to access it from the Kamailio script so that I can lookup the credentials for that realm and then call uac_auth.  I’ve tried getting the info from $ar, but that gives me the realm of the inbound request versus the realm of the upstream carrier.  Also, I’ve tried using $T_rpl($ar), but that returns 0.  Here’s my logic from the Kamailio file:
>> 
>> 
>>         if(t_check_status("401|407")) {
>>                 $var(reply_realm) = $T_rpl($ar);
>>                 $var(query)="select auth_username,auth_password from uacreg where realm='" + $var(reply_realm) + "'";
>>                 sql_xquery("cb","$var(query)","rb");
>>                 xlog("L_DEBUG","[MANAGE_FAILURE: Proxy Auth]: The query is $var(query) auth realm is $var(reply_realm) and the user name is $xavp(rb=>auth_username)");
>>                 $avp(auser) = $xavp(rb=>auth_username);
>>                 $avp(apass) = $xavp(rb=>auth_password);
>>                 uac_auth();
>>                 t_relay();
>>                 exit;`
>>         }
>> 
>> 
>> A snippet of the log file is below:
>> 
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: exec: *** cfgtrace:failure_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=1616 a=63 n=assign
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: exec: *** cfgtrace:failure_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=1617 a=63 n=assign
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: exec: *** cfgtrace:failure_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=1618 a=24 n=uac_auth
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:409]: uac_auth(): picked reply is 0x7f900cb7eaf0, code 407
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:225]: get_autenticate_hdr(): looking for header "Proxy-Authenticate"
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:429]: uac_auth(): header found; body=<Digest realm="sip.flowroute.com", nonce="XERJMlxESAbDNCK3INmBfoET1GGxpcyr", qop="auth">
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth_hdr.c:209]: parse_authenticate_body(): <realm>="sip.flowroute.com" state=2
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth_hdr.c:209]: parse_authenticate_body(): <nonce>="XERJMlxESAbDNCK3INmBfoET1GGxpcyr" state=3
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth_hdr.c:209]: parse_authenticate_body(): <qop>="auth" state=1
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:449]: uac_auth(): no credential for realm "sip.flowroute.com"
>> Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: exec: *** cfgtrace:failure_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=1619 a=24 n=t_relay
>> 
>> 
>> Thanks in advance for any help
>> 
>> Mack Hendricks
>> dSIPRouter
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> -- 
> Sent from Gmail Mobile
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190120/5a19ee0b/attachment.html>


More information about the sr-users mailing list