--- jauth.c.orig 2008-09-26 12:11:36.000000000 -0700 +++ jauth.c 2008-09-26 12:48:05.000000000 -0700 @@ -422,12 +422,21 @@ /* should add pszCNonce in aut */ if (osip_proxy_authenticate_get_qop_options(wa)!=NULL) - { - szNonceCount = osip_strdup("00000001"); - /* MUST be incremented on each */ - pszQop = osip_strdup(osip_proxy_authenticate_get_qop_options(wa)); - pszCNonce = osip_strdup("234abcc436e2667097e7fe6eia53e8dd"); - } + { + szNonceCount = osip_strdup("00000001"); + + // MUST be incremented on each + pszQop = osip_strdup(osip_proxy_authenticate_get_qop_options(wa)); + + if( strcmp(pszQop, "auth-int") == 0 ) + pszCNonce = osip_strdup("234abcc436e2667097e7fe6eia53e8dd"); + else + { + szNonceCount = NULL; + pszQop = NULL; + } + } + DigestCalcHA1(pszAlg, pszUser, pszRealm, pszPass, pszNonce, pszCNonce, HA1); DigestCalcResponse(HA1, pszNonce, szNonceCount, pszCNonce, pszQop,