<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hey All,<div class=""><br class=""></div><div class="">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.</div><div class=""><br class=""></div><div class="">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:</div><div class=""><br class=""></div><div class=""><div class=""><br class=""></div><div class="">        if(t_check_status("401|407")) {</div><div class="">                $var(reply_realm) = $T_rpl($ar);</div><div class="">                $var(query)="select auth_username,auth_password from uacreg where realm='" + $var(reply_realm) + "'";</div><div class="">                sql_xquery("cb","$var(query)","rb");</div><div class="">                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)");</div><div class="">                $avp(auser) = $xavp(rb=>auth_username);</div><div class="">                $avp(apass) = $xavp(rb=>auth_password);</div><div class="">                uac_auth();</div><div class="">                t_relay();</div><div class="">                exit;`</div><div class="">        }</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">A snippet of the log file is below:</div><div class=""><div class=""><br class=""></div><div class="">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</div><div class="">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</div><div class="">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</div><div class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:409]: uac_auth(): picked reply is 0x7f900cb7eaf0, code 407</div><div class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:225]: get_autenticate_hdr(): looking for header "Proxy-Authenticate"</div><div class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:429]: uac_auth(): header found; body=<Digest realm="<a href="http://sip.flowroute.com" class="">sip.flowroute.com</a>", nonce="XERJMlxESAbDNCK3INmBfoET1GGxpcyr", qop="auth"></div><div class=""><span style="background-color: rgb(255, 251, 0);" class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth_hdr.c:209]: parse_authenticate_body(): <realm>="<a href="http://sip.flowroute.com" class="">sip.flowroute.com</a>" state=2</span></div><div class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth_hdr.c:209]: parse_authenticate_body(): <nonce>="XERJMlxESAbDNCK3INmBfoET1GGxpcyr" state=3</div><div class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth_hdr.c:209]: parse_authenticate_body(): <qop>="auth" state=1</div><div class="">Jan 20 10:05:58 dsiprouter /usr/sbin/kamailio[2871]: DEBUG: uac [auth.c:449]: uac_auth(): no credential for realm "<a href="http://sip.flowroute.com" class="">sip.flowroute.com</a>"</div><div class="">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</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Thanks in advance for any help</div><div class=""><br class=""></div><div class="">Mack Hendricks</div><div class="">dSIPRouter</div></body></html>