Ich baue eine grundlegende SIP UA.Asterisk Digest Authentifizierung für SIP INVITE gibt "Benutzer Mismatch" Fehler
INVITE sip:[email protected] SIP/2.0
From: "110"<sip:[email protected]>;tag=80859256
To: <sip:[email protected]>
Call-ID: 80859256
CSeq: 80859256 INVITE
Via: SIP/2.0/UDP 192.168.1.92:6000;branch=z9hG4bK-80859256
Contact: <sip:[email protected]>
Als Antwort erhalte ich die folgende Herausforderung: Ich sende die folgenden INVITE, wie in Asterisk-Konsole gesehen (nur relevant Header-Authentifizierung angezeigt)
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.92:6000;branch=z9hG4bK- 80859256;received=127.0.0.1
From: "110"<sip:[email protected]>;tag=80859256
To: <sip:[email protected]>;tag=as25af7f49
Call-ID: 80859256
CSeq: 80859256 INVITE
Server: Asterisk PBX 13.7.2
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="20e95772"
Content-Length: 0
antworte ich mit dem folgenden :
ACK sip:[email protected] SIP/2.0
From: "110"<sip:[email protected]>;tag=80859256
To: <sip:[email protected]>;tag=as25af7f49
Call-ID: 80859256
CSeq: 80859256 ACK
Via: SIP/2.0/UDP 192.168.1.92:6000;rport;branch=z9hG4bK-80859256
Contact: <sip:[email protected]>
Content-Length: 0
INVITE sip:[email protected] SIP/2.0
From: "110"<sip:[email protected]>;tag=80859256
To: <sip:[email protected]>
Call-ID: 80859256
CSeq: 80859257 INVITE
Via: SIP/2.0/UDP 192.168.1.92:6000;rport;branch=z9hG4bK-80859257
Max-Forwards:5
Allow: REGISTER, INVITE, ACK, BYE, REFER, NOTIFY, CANCEL, INFO, OPTIONS, PRACK, SUBSCRIBE
Contact: <sip:[email protected]>
Authorization: Digest
username="110",realm="asterisk", nonce="20e95772",uri="sip:[email protected]",response="ed2de012b2255e85ddb0ee724b9a3ffd"
Session-Expires: 1800
Min-SE: 90
Content-Type: application/sdp
Ich habe nicht über die tatsächliche SDP mit den Einladungen gesendet. Das Passwort für die Nebenstelle 110 ist 110 wie in der sip.conf definiert.
FRAGE: ich diese Störung erhalte:
WARNING...: chan_sip.c:16702 check_auth: username mismatch, have <110>, digest has <>
NOTICE...: chan_sip.c:25603 handle_request_invite: Failed to authenticate device "110"<sip:[email protected]>;tag=76981187
Dies wird durch eine "SIP/2.0 403 Forbidden" Nachricht folgt.
Ich glaube nicht, dass meine Digest Berechnung wie in der zweiten INVITE gesendet falsch ist.
Was muss geändert werden? Ich habe eine Menge Zeit damit verbracht, das zu debuggen ... Jede Hilfe würde sehr geschätzt werden.
Gibt es eine CR + LF in Ihrer tatsächlichen Antwort zwischen "Authorization: Digest" und "Benutzername = ...", oder wird dies nur in der Debug-Ausgabe in der Konsole hinzugefügt? Wenn dies der Fall ist, müssen Sie die neue Zeile mit Leerzeichen beginnen oder es wird nicht als eine Fortsetzung des Autorisierungsheaderfelds betrachtet, d. H. Das Autorisierungsfeld enthält keinen Benutzernamen – snowcloned
@snowcloned Thanks a LOT. Das war's. Ich habe nicht bemerkt, dass ich nach "Digest" einen CR + LF eingefügt habe, bis du darauf hingewiesen hast. Ich dachte nur, dass es sich um eine aufgewickelte Anzeige in der Konsole handelte. Das geändert und es funktioniert. Kannst du das als Antwort geben und ich werde SEHR glücklich sein, es zu akzeptieren, denn es ist in der Tat eine Antwort, nicht nur ein Kommentar. – Sam