Tobias Lindgren wrote:
Unfortainly it's the same result.
if you don't get it working at all, also not with sending the request to the same proxy by setting remote-uri to the source IP of the reply, you can just try resending until it works...

diff --git a/core/plug-in/uac_auth/UACAuth.cpp b/core/plug-in/uac_auth/UACAuth.cpp
index 97d4911..a3ab84f 100644
--- a/core/plug-in/uac_auth/UACAuth.cpp
+++ b/core/plug-in/uac_auth/UACAuth.cpp
@@ -105,7 +105,8 @@ UACAuth::UACAuth(AmSipDialog* dlg,
                 UACAuthCred* cred)
   : dlg(dlg),
     credential(cred),
-    AmSessionEventHandler()
+    AmSessionEventHandler(),
+    retries(0)
 {      
 }

@@ -132,7 +133,7 @@ bool UACAuth::onSipReply(const AmSipReply& reply, AmSipDialog::Status old_dlg_st
                
     std::map<unsigned int, SIPRequestInfo >::iterator ri =
       sent_requests.find(reply.cseq);
-    if (ri!= sent_requests.end())
+    if (ri!= sent_requests.end() || ++retries < 10)
       {
        DBG(" UACAuth - processing with reply code %d \n", reply.code);
        //                      DBG("realm %s user %s pwd %s 
----------------\n",
diff --git a/core/plug-in/uac_auth/UACAuth.h b/core/plug-in/uac_auth/UACAuth.h
index e6f07cf..863778d 100644
--- a/core/plug-in/uac_auth/UACAuth.h
+++ b/core/plug-in/uac_auth/UACAuth.h
@@ -104,6 +104,7 @@ class UACAuth : public AmSessionEventHandler

   UACAuthCred* credential;
   AmSipDialog* dlg;
+  unsigned int retries;

std::string find_attribute(const std::string& name, const std::string& header); bool parse_header(const std::string& auth_hdr, UACAuthDigestChallenge& challenge);


_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to