Ich hoffe, dass dies meine letzte Frage zu diesem SIP-Thema sein wird. Ich habe es geschafft, das letzte Problem zu überwinden, indem ich einen Freund gebeten habe, mir von einem entfernten Computer aus zu helfen. Ich kann eine Verbindung zwischen den Computern herstellen, aber hier ist die Sache: Gemäß allen Beispielen, die ich gesehen habe, sollte der Angerufene die Klingelantwort aufrufen. In meinem Anwendungsfall habe ich es jedoch noch nicht implementiert, erhalte aber dennoch vom Anrufer UAC eine Klingelantwort. Dies sind die SIP-Nachrichten auf der Anruferseite:
Ausgehender Request 5:
INVITE sip:320@hostName.hn SIP/2.0
Contact: "Client 310"
From: "Client 310"
Max-Forwards: 32
CSeq: 2 INVITE
Call-ID: f8d171d3278788df9e03eb9cf3acba70@xxx.xxx.x.xxx
Allow: INVITE,CANCEL,ACK,BYE,OPTIONS
Content-Type: application/sdp
Proxy-Authorization: Digest username="310",nonce="012afffb",realm="asterisk",uri="sip:310@hostName.hn",algorithm=MD5,response="d19ca5b98450b4be7bd4045edb8a3a2f"
Via: SIP/2.0/UDP hostName.hn:5060
To: "Client 320" ;tag=as5a8fa200
Content-Length: 257
v=0
o=310 7108915969559970847 7108915969559970847 IN IP4 xxx.xxx.x.xxx
s=-
i=Nu-Art Software - TacB0sS VoIP information
c=IN IP4 xxx.xxx.x.xxx
m=audio 3312 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
Eingehende Antwort 6:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP hostName.hn:5060;branch=f8d171d3278788df9e03eb9cf3acba70-xxx.xxx.x.xxx-2-invite-hostName.hn-5060333732;received=79.181.6.233
From: "Client 310"
To: "Client 320" ;tag=as5a8fa200
Call-ID: f8d171d3278788df9e03eb9cf3acba70@xxx.xxx.x.xxx
CSeq: 2 INVITE
User-Agent: Freeswitch 1.2.3
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO
Supported: replaces
Contact:
Content-Length: 0
Eingehende Antwort 7:
SIP/2.0 180 Klingeln
Via: SIP/2.0/UDP hostName.hn:5060;branch=f8d171d3278788df9e03eb9cf3acba70-xxx.xxx.x.xxx-2-invite-hostName.hn-5060333732;received=79.181.6.233
From: "Client 310"
To: "Client 320" ;tag=as5a8fa200
Call-ID: f8d171d3278788df9e03eb9cf3acba70@xxx.xxx.x.xxx
CSeq: 2 INVITE
User-Agent: Freeswitch 1.2.3
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO
Supported: replaces
Contact:
Content-Length: 0
Anruf an: 320@hostName.hn klingelt
Eingehende Antwort 8:
SIP/2.0 183 Sitzungsfortschritt
Via: SIP/2.0/UDP hostName.hn:5060;branch=f8d171d3278788df9e03eb9cf3acba70-xxx.xxx.x.xxx-2-invite-hostName.hn-5060333732;received=79.181.6.233
From: "Client 310"
To: "Client 320" ;tag=as5a8fa200
Call-ID: f8d171d3278788df9e03eb9cf3acba70@xxx.xxx.x.xxx
CSeq: 2 INVITE
User-Agent: Freeswitch 1.2.3
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO
Supported: replaces
Contact:
Content-Type: application/sdp
Content-Length: 264
v=0
o=root 27669 27669 IN IP4 yy.yy.yy.yy
s=session
c=IN IP4 yy.yy.yy.yy
t=0 0
m=audio 10914 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
Eingehende Antwort 9:
SIP/2.0 503 Dienst nicht verfügbar
Via: SIP/2.0/UDP hostName.hn:5060;branch=f8d171d3278788df9e03eb9cf3acba70-xxx.xxx.x.xxx-2-invite-hostName.hn-5060333732;received=79.181.6.233
From: "Client 310"
To: "Client 320" ;tag=as5a8fa200
Call-ID: f8d171d3278788df9e03eb9cf3acba70@xxx.xxx.x.xxx
CSeq: 2 INVITE
User-Agent: Freeswitch 1.2.3
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY,INFO
Supported: replaces
Content-Length: 0
Ich antworte nicht auf die Einladung, deshalb passiert das alles, aber warum erhalte ich ein Klingeln, wenn ich es nicht bin, der es sendet.
Danke,
Adam.
Update:
Wenn Sie die Zeiten bemerken, zu denen ich die Antworten erhalte:
Eingehende Antwort 7: 1275879030656 Klingeln
Eingehende Antwort 8: 1275879038734 Sitzungsfortschritt
Eingehende Antwort 9: 1275879038781 Dienst nicht verfügbar
Ich verstehe die Logik hier nicht. Ich habe 8 Sekunden von der ersten Klingelantwort bis zum Sitzungsfortschritt, aber vom Sitzungsfortschritt zum Dienst nicht verfügbar habe ich 47 ms?
Wie ergibt das Sinn? 50 ms, um was zu tun? Zeit, um die Antwort zu analysieren + Zeit, um eine RTP-Sitzung zu öffnen + Zeit, um eine Antwort zu erstellen + Zeit, um SDP zu erstellen + Zeit, die der Server benötigt, um die Nachricht zu erhalten - die Zeit, die die 503-Nachricht benötigt, um mein UAC zu erreichen. Ist das nicht ein bisschen knapp bemessen? Wann soll ich dem Server antworten?
Danke nochmal für all deine Hilfe, Wiz.