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