<div><div dir="auto">I’m not sure if I’m missing the important point here, but can you just set the realm to whatever the carrier expects in the uacreg table?</div></div><div dir="auto"><br></div><div dir="auto">I think I use it that way and we have different realms for different carriers...</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://www.kamailio.org/docs/modules/5.2.x/modules/uac.html#idm1047648852">https://www.kamailio.org/docs/modules/5.2.x/modules/uac.html#idm1047648852</a></div><br></div><div dir="auto">Or the problem is that you don’t know the realm in advance?</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jan 20, 2019 at 12:03 Mack Hendricks <<a href="mailto:mack@dopensource.com">mack@dopensource.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">I’m using the dRouting module.  Is there a way to store the realm using this module?<div><br></div><div>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.  </div><div><br><div dir="ltr" id="m_-3607842895890403831AppleMailSignature">Sent from my iPhone</div></div></div><div dir="auto"><div><div dir="ltr"><br>On Jan 20, 2019, at 2:22 PM, Brandon Armstead <<a href="mailto:brandon@cryy.com" target="_blank">brandon@cryy.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><div><div dir="auto">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? </div></div><div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jan 20, 2019 at 03:59 Mack Hendricks <<a href="mailto:mack@dopensource.com" target="_blank">mack@dopensource.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Hey All,<div><br></div><div>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><br></div><div>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><br></div><div><div><br></div><div>        if(t_check_status("401|407")) {</div><div>                $var(reply_realm) = $T_rpl($ar);</div><div>                $var(query)="select auth_username,auth_password from uacreg where realm='" + $var(reply_realm) + "'";</div><div>                sql_xquery("cb","$var(query)","rb");</div><div>                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>                $avp(auser) = $xavp(rb=>auth_username);</div><div>                $avp(apass) = $xavp(rb=>auth_password);</div><div>                uac_auth();</div><div>                t_relay();</div><div>                exit;`</div><div>        }</div></div><div><br></div><div><br></div><div>A snippet of the log file is below:</div><div><div><br></div><div>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>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>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>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>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>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" target="_blank">sip.flowroute.com</a>", nonce="XERJMlxESAbDNCK3INmBfoET1GGxpcyr", qop="auth"></div><div><span style="background-color:rgb(255,251,0)">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" target="_blank">sip.flowroute.com</a>" state=2</span></div><div>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>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>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" target="_blank">sip.flowroute.com</a>"</div><div>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><br></div><div><br></div><div>Thanks in advance for any help</div></div><div style="word-wrap:break-word;line-break:after-white-space"><div><br></div><div>Mack Hendricks</div><div>dSIPRouter</div></div>_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div></div>-- <br><div dir="ltr" class="m_-3607842895890403831gmail_signature" data-smartmail="gmail_signature">Sent from Gmail Mobile</div>
</div></blockquote><blockquote type="cite"><div dir="ltr"><span>_______________________________________________</span><br><span>Kamailio (SER) - Users Mailing List</span><br><span><a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a></span><br><span><a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a></span><br></div></blockquote></div></div>_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div></div>