I have a setup where I have a fallback to a GSM number
I look up the GSM number and provider information in a database and sets the headers.
dlg_manage(); $du = "sip:" + $dbr(ra=>[0,0]); $tu = "sip:"+$rU+"@"+$dbr(ra=>[0,0]); $ru = "sip:"+$rU+"@"+$dbr(ra=>[0,0]); uac_replace_from("sip:"+$dbr(ra=>[0,1])+"@EXTERNALIP");
After this the call goes to a failure_route to do uac_auth()
Now my problem is that this works with the providers Asterisk server. But if the call is send to the providers Kamailio server, authentication is rejected.
Removing uac_replace_from makes the call accepted on the Kamailio server
The only possible problem I can see is that the first INVITE without authentication, has correct From header. But the second with the nonce and auth, uses the wrong From header. Thus two different From headers in the same SIP dialog.
Unfortunately uac_replace_from is not allowed in failure_route, so I could test if this is the problem.
Is the two different From headers a problem, and how could that be fixed.