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 <[email protected]> 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 <[email protected]> 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
>> [email protected]
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> -- 
> Sent from Gmail Mobile
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> [email protected]
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to