blind call transfer improvement
I found problem with the blind call transfer scenario
-
1st phone send REFER to 2nd
-
2nd: REFER accepted, and start calling to 3rd
-
1st phone send BYE to 2nd Notes: According RFC 5589 1st phone should not here send BYE to 2nd until receive NOTIFY with calling result. But the specification does not provide realistic case when operator in the 1st phone initiate call transfer for the 2nd, and don't have time to wait result.
-
Now 3rd phone accept incoming from 2nd phone call Then the 2nd phone will send NOTIFY to 1st. Because the dialog is already terminated, there will be error during the sending, and the "2nd-3rd" call will be closed. (there will be also some exception)
Seems the unusual call transfer case is not tested/implemented.
But it could be, for example CISCO implemented the case: "https://www.cisco.com/c/en/us/td/docs/ios/voice/sip/configuration/guide/12_4t/sip_12_4t_book/sip_cg-call_x-fer.pdf", Page 8. Figure 2.
Proposed fix
Don't send NOTIFY and returns without error, if dialog (that receive REFER) is terminated. So dialog termination works as unsubscribe for NOTIFY subscription.
File: ReferNotifier.js Function: notify
` notify(code, reason) { debug('notify()');
if (this._active === false)
{
return;
}
//----------- fix begin ------------
if( this._session.status === this._session.C.STATUS_TERMINATED)
{
this._active = false;
return;
}
//----------- fix end --------------
reason = reason || JsSIP_C.REASON_PHRASE[code] || '';
`
The last NOTIFY arrived to 1st phone should simply not reach the dialog since it should not exist, in case this was terminated.
Please attach here the full JsSIP logs for 1st phone.
Yes, after 1st phone send BYE, it don’t receive NOTIFY.
Problem with 2nd phone, seems there some exception when notifier try to send NOTIFY. I can provide logs from 2nd phone, if you want.
From: José Luis Millán [mailto:[email protected]]
The last NOTIFY arrived to 1st phone should simply not reach the dialog since it should not exist, in case this was terminated.
Please attach here the full JsSIP logs for 1st phone.
Ok, then provide us the full JsSIP logs for the 2nd phone.
Hi !
Here the logs of my test phone and jssip
phone1 (user web1), and phone2 (user web2), call transferred to phone3 (user web3)
I send also build jssip.js, because I think added fix of ICE timeout can a little change lines numbers.
Scenario
- Phone1 (user web1) call to phone2 user web2,
- Phone2 answer, call is established.
- Phone1 set call on hold.
- Phone1 send to Phone2 REFER with request to call phone3 (user web3)
- REFER is accepted, Phone2 starts calling to Phone3
- (!) Phone1 hangup call (send BYE) to phone2
- Phone3 answer to incoming call, call between phone2 and phone3 is establish.
- Phone2 now trying send NOTIFY to phone1. But the call is terminated already.
IMHO, here there is problem, see phone2.txt, line 820.
Regards, ikq
Yes, after 1st phone send BYE, it don’t receive NOTIFY.
Problem with 2nd phone, seems there some exception when notifier try to send NOTIFY. I can provide logs from 2nd phone, if you want.
From: José Luis Millán [mailto:[email protected]] Sent: Monday, December 24, 2018 15:32 To: versatica/JsSIP <[email protected]mailto:[email protected]> Subject: Re: [versatica/JsSIP] blind call transfer improvement (#556)
The last NOTIFY arrived to 1st phone should simply not reach the dialog since it should not exist, in case this was terminated.
Please attach here the full JsSIP logs for 1st phone.
15:42:57.885 phone.js:148 ------ Date: Mon Dec 24 2018 ------- 15:42:57.886 phone.js:148 Browser: Chrome/71.0.3578.98 15:42:57.886 phone.js:148 SIP: JsSIP 3.2.15 15:42:57.886 phone.js:148 AudioCodes API: 1.5.0 15:42:57.886 phone.js:148 Used default phoneServerConfig 15:42:57.887 phone.js:148 Used default phoneConfig 15:42:57.890 phone.js:148 AudioPlayer: downloadSounds Array(1) 15:42:58.037 phone.js:148 call-log db: open 15:42:58.057 phone.js:148 call-log db: loaded 100 15:42:58.350 phone.js:148 hasCamera=true 15:42:58.350 phone.js:148 Used custom phoneAccount 15:42:58.350 phone.js:148 AC: setServerConfig() Object 15:42:58.350 phone.js:148 AC: setReconnectIntervals min=2 max=30 15:42:58.350 phone.js:148 AC: setRegisterExpires=600 15:42:58.350 phone.js:148 AC: setUseSessionTimer=false 15:42:58.350 phone.js:148 AC: setChromeAudioConstraints= echoCancellation,googEchoCancellation,googExperimentalEchoCancellation,googDAEchoCancellation,googAutoGainControl,googNoiseSuppression,googHighpassFilter,googTypingNoiseDetection,googAudioMirroring 15:42:58.350 phone.js:148 AC: setWebSocketKeepAlive ping=10 pong=10 stats=60 15:42:58.350 phone.js:148 AC: setDtmfOptions useWebRTC=true duration=null interToneGap=null 15:42:58.350 phone.js:148 AC: setEnableAddVideo=true 15:42:58.350 phone.js:148 AC: setUserAgent=AudioCodes WebRTC phone 15:42:58.350 phone.js:148 AC: setListeners() 15:42:58.350 phone.js:148 AC: init() autoLogin=true 15:42:58.360 jssip.js:26610 new() [url:"wss://webrtclab.audiocodes.com"] 15:42:58.360 jssip.js:26610 new() [configuration:Object] 15:42:58.373 jssip.js:26610 new() 15:42:58.374 jssip.js:26610 configuration parameters after validation: 15:42:58.374 jssip.js:26610 - authorization_user: "web2" 15:42:58.374 jssip.js:26610 - password: NOT SHOWN 15:42:58.374 jssip.js:26610 - realm: null 15:42:58.374 jssip.js:26610 - ha1: NOT SHOWN 15:42:58.374 jssip.js:26610 - display_name: "Web2" 15:42:58.375 jssip.js:26610 - uri: sip:[email protected] 15:42:58.375 jssip.js:26610 - contact_uri: {"_parameters":{"transport":"ws"},"_headers":{},"_scheme":"sip","_user":"d56vmaug","_host":"sl69lvifk4ak.invalid","_port":null} 15:42:58.375 jssip.js:26610 - instance_id: "4f4cbe64-a4fd-4fe3-94e7-6a72a1ca0b71" 15:42:58.375 jssip.js:26610 - use_preloaded_route: false 15:42:58.375 jssip.js:26610 - session_timers: false 15:42:58.375 jssip.js:26610 - session_timers_refresh_method: "UPDATE" 15:42:58.375 jssip.js:26610 - no_answer_timeout: 60000 15:42:58.375 jssip.js:26610 - register: true 15:42:58.375 jssip.js:26610 - register_expires: 600 15:42:58.375 jssip.js:26610 - registrar_server: sip:audiocodes.com 15:42:58.375 jssip.js:26610 - connection_recovery_max_interval: 30 15:42:58.375 jssip.js:26610 - connection_recovery_min_interval: 2 15:42:58.375 jssip.js:26610 - via_host: "sl69lvifk4ak.invalid" 15:42:58.376 jssip.js:26610 start() 15:42:58.376 jssip.js:26610 connect() 15:42:58.377 jssip.js:26610 connect() 15:42:58.377 jssip.js:26610 connecting to WebSocket wss://webrtclab.audiocodes.com 15:42:58.454 phone.js:148 audioPlayer: sounds are ready: Object 15:42:59.917 jssip.js:26610 WebSocket wss://webrtclab.audiocodes.com connected 15:42:59.917 phone.js:148 AC>>: loginStateChanged: isLogin=false "connected" 15:42:59.917 phone.js:148 phone>>> loginStateChanged: connected 15:42:59.917 jssip.js:26610 send() 15:42:59.917 jssip.js:26610 sending message:
REGISTER sip:audiocodes.com SIP/2.0 Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK3257705 Max-Forwards: 69 To: sip:[email protected] From: "Web2" sip:[email protected];tag=bgt1hprf51 Call-ID: tp4kbf3b7c3qclbt2deg18 CSeq: 1 REGISTER X-SBC: AudioCodes Mediant Contact: sip:[email protected];transport=ws;+sip.ice;reg-id=1;+sip.instance="urn:uuid:4f4cbe64-a4fd-4fe3-94e7-6a72a1ca0b71";expires=600 Expires: 600 Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: path,gruu,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:42:59.917 jssip.js:26610 send() 15:43:00.145 jssip.js:26610 received WebSocket message 15:43:00.145 jssip.js:26610 received text message:
SIP/2.0 401 Unauthorized Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK3257705 From: "Web2" sip:[email protected];tag=bgt1hprf51 To: sip:[email protected];tag=1c537022984 Call-ID: tp4kbf3b7c3qclbt2deg18 CSeq: 1 REGISTER www-authenticate: Digest realm="DefaultSipRealm",nonce="MjE3Njc4OTIzODoxNDk4MDg4MjQ4",qop="auth",algorithm=MD5 Content-Length: 0
15:43:00.156 jssip.js:26610 authenticate() | response generated 15:43:00.156 jssip.js:26610 send() 15:43:00.156 jssip.js:26610 sending message:
REGISTER sip:audiocodes.com SIP/2.0 Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK721566 Max-Forwards: 69 To: sip:[email protected] From: "Web2" sip:[email protected];tag=bgt1hprf51 Call-ID: tp4kbf3b7c3qclbt2deg18 CSeq: 2 REGISTER Authorization: Digest algorithm=MD5, username="web2", realm="DefaultSipRealm", nonce="MjE3Njc4OTIzODoxNDk4MDg4MjQ4", uri="sip:audiocodes.com", response="865a1f0d4750bbe113a72e881fd5842a", qop=auth, cnonce="g5vbnn2g122q", nc=00000001 X-SBC: AudioCodes Mediant Contact: sip:[email protected];transport=ws;+sip.ice;reg-id=1;+sip.instance="urn:uuid:4f4cbe64-a4fd-4fe3-94e7-6a72a1ca0b71";expires=600 Expires: 600 Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: path,gruu,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:43:00.156 jssip.js:26610 send() 15:43:00.380 jssip.js:26610 received WebSocket message 15:43:00.380 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK721566 From: "Web2" sip:[email protected];tag=bgt1hprf51 To: sip:[email protected];tag=1c518977781 Call-ID: tp4kbf3b7c3qclbt2deg18 CSeq: 2 REGISTER Contact: sip:[email protected];transport=ws;+sip.instance="urn:uuid:4f4cbe64-a4fd-4fe3-94e7-6a72a1ca0b71";expires=591;+sip.ice;reg-id=1 Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE Expires: 591 Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:43:00.390 phone.js:148 AC>>: loginStateChanged: isLogin=true "login" 15:43:00.390 phone.js:148 phone>>> loginStateChanged: login 15:43:10.141 phone.js:148 AC: keep-alive: Server supports CRLF pong 15:43:52.267 jssip.js:26610 received WebSocket message 15:43:52.267 jssip.js:26610 received text message:
INVITE sip:[email protected];transport=ws SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1453434246 Max-Forwards: 68 From: "Web1" sip:[email protected];tag=1c1684898816 To: sip:[email protected] Call-ID: [email protected] CSeq: 1 INVITE Contact: sip:[email protected]:5060;transport=ws;ob Supported: ice,outbound,replaces,sdp-anat Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO User-Agent: Mediant SW/v.7.20A.251.038 Content-Type: application/sdp Content-Length: 1086 X-Greeting: Nice to see you!
v=0 o=- 1079773228 71563898 IN IP4 52.40.162.88 s=- t=0 0 a=ice-lite m=audio 6820 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 112 13 110 113 126 c=IN IP4 52.40.162.88 a=rtcp:6821 IN IP4 52.40.162.88 a=ice-ufrag:MtSDmt4dNBo3f4q2 a=ice-pwd:UUUYFKijrmdqna9/FRX09DrB a=fingerprint:sha-256 44:3E:CA:D6:9D:6A:C4:32:BD:D8:CA:8C:6A:23:04:75:7C:EE:4C:98:86:EB:54:83:87:18:92:EF:6D:E8:7D:76 a=setup:actpass a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:509723469 cname:nsq8kvNjGd90bEkl a=candidate:1486187535 1 udp 2130706431 52.40.162.88 6820 typ host a=candidate:1486187535 2 udp 2130706430 52.40.162.88 6821 typ host
15:43:52.276 jssip.js:26610 send() 15:43:52.276 jssip.js:26610 sending message:
SIP/2.0 100 Trying Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1453434246 To: sip:[email protected] From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 1 INVITE Supported: ice,replaces,outbound Content-Length: 0
15:43:52.276 jssip.js:26610 send() 15:43:52.276 jssip.js:26610 new 15:43:52.277 jssip.js:26610 init_incoming() 15:43:52.278 jssip.js:26610 new UAS dialog created with status EARLY 15:43:52.278 jssip.js:26610 newRTCSession() 15:43:52.279 phone.js:148 AC: event incoming "newRTCSession" Object 15:43:52.279 phone.js:148 AC: peer connection does not exist, wait creation 15:43:52.280 phone.js:148 AC: [VIDEO] incoming call, temporary set video=false 15:43:52.280 phone.js:148 AC>>: incomingCall audio from "Web1" web1 AudioCodesSession 15:43:52.280 phone.js:148 phone>>> incomingCall 15:43:52.284 phone.js:148 AudioPlayer: play: Object 15:43:52.285 phone.js:148 desktopNotification created 15:43:52.285 jssip.js:26610 send() 15:43:52.285 jssip.js:26610 sending message:
SIP/2.0 180 Ringing Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1453434246 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 1 INVITE Contact: sip:[email protected];transport=ws Supported: ice,replaces,outbound Content-Length: 0
15:43:52.286 jssip.js:26610 send() 15:43:52.286 jssip.js:26610 session progress 15:43:52.286 jssip.js:26610 emit "progress" 15:43:52.295 phone.js:148 call-log db: added 15:43:55.293 phone.js:148 desktopNofification.close() 15:43:55.293 phone.js:148 AC: answer() audio 15:43:55.293 phone.js:148 AC: [VIDEO] according answer argument, set false 15:43:55.293 phone.js:148 AC: answer options: Object 15:43:55.293 jssip.js:26610 answer() 15:43:55.293 jssip.js:26610 dialog [email protected] changed to CONFIRMED state 15:43:55.315 jssip.js:26610 emit "peerconnection" 15:43:55.315 phone.js:148 AC: [event connection] connection created, set "addstream" listener 15:43:56.489 jssip.js:26610 emit "sdp" 15:43:56.499 phone.js:148 AC: Event "sdp" ANSWERED (5) Object 15:43:56.499 phone.js:148 [webrtc] >> connection addstream MediaStream MediaStream 15:43:56.499 phone.js:148 AC>>: [connection addstream] callShowStreams AudioCodesSession MediaStream MediaStream 15:43:56.499 phone.js:148 phone>>> callShowStreams 15:43:56.499 phone.js:148 video state: inactive 15:43:56.499 phone.js:148 hide local video view 15:43:56.499 phone.js:148 local audio:true video:- 15:43:56.499 phone.js:148 remote audio:true video:- 15:43:56.499 jssip.js:26610 session connecting 15:43:56.499 jssip.js:26610 emit "connecting" 15:43:56.499 jssip.js:26610 createLocalDescription() 15:43:56.750 jssip.js:26610 emit "sdp" 15:43:56.750 phone.js:148 AC: Event "sdp" ANSWERED (5) Object 15:43:56.750 jssip.js:26610 send() 15:43:56.751 jssip.js:26610 sending message:
SIP/2.0 200 OK Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1453434246 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 1 INVITE Contact: sip:[email protected];transport=ws X-Greeting: You are welcome ! Supported: ice,replaces,outbound Content-Type: application/sdp Content-Length: 1475
v=0 o=- 5437094010897838492 2 IN IP4 127.0.0.1 s=- t=0 0 a=msid-semantic: WMS vjuTPXrWIdsT6uMwAgAKgMFuyUIstQafnXuc m=audio 50581 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 112 13 110 113 126 c=IN IP4 172.30.241.110 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:605072694 1 udp 2122260223 172.30.241.110 50581 typ host generation 0 network-id 1 network-cost 10 a=candidate:1788039622 1 tcp 1518280447 172.30.241.110 9 typ host tcptype active generation 0 network-id 1 network-cost 10 a=ice-ufrag:WFZY a=ice-pwd:SN+k9gEj2nI4nvrygyqAIM6r a=ice-options:trickle a=fingerprint:sha-256 70:2C:9D:79:5E:96:5A:D1:4C:D9:9D:49:B5:74:49:9B:E4:07:35:0D:0D:BF:E6:8B:D2:20:0C:9B:98:80:38:F0 a=setup:active a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:112 telephone-event/32000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:2033828356 cname:Kui4sontzvZSxONW a=ssrc:2033828356 msid:vjuTPXrWIdsT6uMwAgAKgMFuyUIstQafnXuc 7a3bdd4c-fae7-4d2a-9727-5becdcdc7fc5 a=ssrc:2033828356 mslabel:vjuTPXrWIdsT6uMwAgAKgMFuyUIstQafnXuc a=ssrc:2033828356 label:7a3bdd4c-fae7-4d2a-9727-5becdcdc7fc5
15:43:56.751 jssip.js:26610 send() 15:43:56.751 jssip.js:26610 session accepted 15:43:56.751 jssip.js:26610 emit "accepted" 15:43:57.199 jssip.js:26610 received WebSocket message 15:43:57.199 jssip.js:26610 received text message:
ACK sip:[email protected];transport=ws SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac653597232 Max-Forwards: 68 From: "Web1" sip:[email protected];tag=1c1684898816 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: [email protected] CSeq: 1 ACK Contact: sip:[email protected]:5060;transport=ws Supported: outbound Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO User-Agent: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:43:57.202 jssip.js:26610 receiveRequest() 15:43:57.202 jssip.js:26610 session confirmed 15:43:57.202 jssip.js:26610 emit "confirmed" 15:43:57.202 phone.js:148 AC>>: callConfirmed AudioCodesSession ACK received 15:43:57.203 phone.js:148 phone>>> callConfirmed 15:43:57.209 phone.js:148 call-log db: updated 15:44:13.097 jssip.js:26610 received WebSocket message 15:44:13.097 jssip.js:26610 received text message:
INVITE sip:[email protected];transport=ws SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1249374733 Max-Forwards: 68 From: "Web1" sip:[email protected];tag=1c1684898816 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: [email protected] CSeq: 2 INVITE Contact: sip:[email protected]:5060;transport=ws;ob Supported: ice,outbound,replaces,sdp-anat Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO User-Agent: Mediant SW/v.7.20A.251.038 Content-Type: application/sdp Content-Length: 1086
v=0 o=- 1079773228 71563899 IN IP4 52.40.162.88 s=- t=0 0 a=ice-lite m=audio 6820 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 112 13 110 113 126 c=IN IP4 52.40.162.88 a=rtpmap:111 opus/48000/2 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=fmtp:111 minptime=10;useinbandfec=1 a=rtcp:6821 IN IP4 52.40.162.88 a=rtcp-fb:111 transport-cc a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=setup:actpass a=sendonly a=ice-ufrag:MtSDmt4dNBo3f4q2 a=ice-pwd:UUUYFKijrmdqna9/FRX09DrB a=fingerprint:sha-256 44:3E:CA:D6:9D:6A:C4:32:BD:D8:CA:8C:6A:23:04:75:7C:EE:4C:98:86:EB:54:83:87:18:92:EF:6D:E8:7D:76 a=ssrc:509723469 cname:nsq8kvNjGd90bEkl a=rtcp-mux a=candidate:1486187535 1 udp 2130706431 52.40.162.88 6820 typ host a=candidate:1486187535 2 udp 2130706430 52.40.162.88 6821 typ host
15:44:13.100 jssip.js:26610 send() 15:44:13.101 jssip.js:26610 sending message:
SIP/2.0 100 Trying Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1249374733 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 2 INVITE Supported: ice,replaces,outbound Content-Length: 0
15:44:13.101 jssip.js:26610 send() 15:44:13.102 jssip.js:26610 receiveRequest() 15:44:13.103 jssip.js:26610 receiveReinvite() 15:44:13.103 phone.js:148 AC>>: callIncomingReinvite start 15:44:13.104 phone.js:148 phone>>> call incoming reinvite start 15:44:13.105 jssip.js:26610 _processInDialogSdpOffer() 15:44:13.106 jssip.js:26610 emit "sdp" 15:44:13.106 phone.js:148 AC: Event "sdp" CONFIRMED (9) {originator: "remote", type: "offer", sdp: "v=0 ↵o=- 1079773228 71563899 IN IP4 52.40.162.88 ↵…535 2 udp 2130706430 52.40.162.88 6821 typ host ↵"} 15:44:13.119 jssip.js:26610 session onhold 15:44:13.121 jssip.js:26610 emit "hold" 15:44:13.122 phone.js:148 AC>>: callHoldSholdStateChanged isHold=true isRemote=true session: AudioCodesSession {js_session: RTCSession, data: {…}, _remoteStreamAdded: true} 15:44:13.123 phone.js:148 phone>>> callHoldStateChanged 15:44:13.125 jssip.js:26610 createLocalDescription() 15:44:13.132 jssip.js:26610 emit "sdp" 15:44:13.134 phone.js:148 AC: Event "sdp" CONFIRMED (9) {originator: "local", type: "answer", sdp: "v=0 ↵o=- 5437094010897838492 3 IN IP4 127.0.0.1 ↵s…8356 label:7a3bdd4c-fae7-4d2a-9727-5becdcdc7fc5 ↵"} 15:44:13.139 jssip.js:26610 send() 15:44:13.140 jssip.js:26610 sending message:
SIP/2.0 200 OK Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1249374733 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 2 INVITE Contact: sip:[email protected];transport=ws Supported: ice,replaces,outbound Content-Type: application/sdp Content-Length: 1475
v=0 o=- 5437094010897838492 3 IN IP4 127.0.0.1 s=- t=0 0 a=msid-semantic: WMS vjuTPXrWIdsT6uMwAgAKgMFuyUIstQafnXuc m=audio 50581 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 112 13 110 113 126 c=IN IP4 172.30.241.110 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:605072694 1 udp 2122260223 172.30.241.110 50581 typ host generation 0 network-id 1 network-cost 10 a=candidate:1788039622 1 tcp 1518280447 172.30.241.110 9 typ host tcptype active generation 0 network-id 1 network-cost 10 a=ice-ufrag:WFZY a=ice-pwd:SN+k9gEj2nI4nvrygyqAIM6r a=ice-options:trickle a=fingerprint:sha-256 70:2C:9D:79:5E:96:5A:D1:4C:D9:9D:49:B5:74:49:9B:E4:07:35:0D:0D:BF:E6:8B:D2:20:0C:9B:98:80:38:F0 a=setup:active a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=recvonly a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:112 telephone-event/32000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:2033828356 cname:Kui4sontzvZSxONW a=ssrc:2033828356 msid:vjuTPXrWIdsT6uMwAgAKgMFuyUIstQafnXuc 7a3bdd4c-fae7-4d2a-9727-5becdcdc7fc5 a=ssrc:2033828356 mslabel:vjuTPXrWIdsT6uMwAgAKgMFuyUIstQafnXuc a=ssrc:2033828356 label:7a3bdd4c-fae7-4d2a-9727-5becdcdc7fc5
15:44:13.141 jssip.js:26610 send() 15:44:13.142 phone.js:148 AC>>: callIncomingIncomingReinvite end 15:44:13.144 phone.js:148 phone>>> call incoming reinvite end 15:44:13.597 jssip.js:26610 received WebSocket message 15:44:13.597 jssip.js:26610 received text message:
ACK sip:[email protected];transport=ws SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1455785114 Max-Forwards: 68 From: "Web1" sip:[email protected];tag=1c1684898816 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: [email protected] CSeq: 2 ACK Contact: sip:[email protected]:5060;transport=ws Supported: outbound Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO User-Agent: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:13.600 jssip.js:26610 receiveRequest() 15:44:14.015 jssip.js:26610 received WebSocket message 15:44:14.016 jssip.js:26610 received text message:
REFER sip:[email protected];transport=ws SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1310525137 Max-Forwards: 68 From: "Web1" sip:[email protected];tag=1c1684898816 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: [email protected] CSeq: 3 REFER Contact: sip:[email protected]:5060;transport=ws;ob Supported: outbound Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Refer-To: sip:[email protected] User-Agent: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:14.021 jssip.js:26610 receiveRequest() 15:44:14.022 jssip.js:26610 receiveRefer() 15:44:14.023 jssip.js:26610 send() 15:44:14.023 jssip.js:26610 sending message:
SIP/2.0 202 Accepted Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1310525137 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 3 REFER Supported: outbound Content-Length: 0
15:44:14.023 jssip.js:26610 send() 15:44:14.024 jssip.js:26610 notify() 15:44:14.025 jssip.js:26610 sendRequest() 15:44:14.028 jssip.js:26610 send() 15:44:14.028 jssip.js:26610 sending message:
NOTIFY sip:[email protected]:5060;transport=ws;ob SIP/2.0 Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK9738921 Max-Forwards: 69 To: sip:[email protected];tag=1c1684898816 From: "Web2" sip:[email protected];tag=o5g4in2nl5 Call-ID: [email protected] CSeq: 179 NOTIFY Event: refer;id=3 Subscription-State: active;expires=300 Content-Type: message/sipfrag;version=2.0 Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 18
SIP/2.0 100 Trying
15:44:14.029 jssip.js:26610 send() 15:44:14.030 jssip.js:26610 emit "refer" 15:44:14.030 phone.js:148 phone>>> transfer recipient. Incoming REFER: accepted 15:44:14.031 phone.js:148 AC>>: incoming REFER accepted 15:44:14.031 jssip.js:26610 new 15:44:14.033 jssip.js:26610 connect() 15:44:14.036 jssip.js:26610 emit "peerconnection" 15:44:14.037 jssip.js:26610 newRTCSession() 15:44:14.038 phone.js:148 AC: event outgoing "newRTCSession" {originator: "local", session: RTCSession, request: InitialOutgoingInviteRequest} 15:44:14.039 phone.js:148 AC: connection exists, set "addstream" listener 15:44:14.040 phone.js:148 AC>>: outgoing call created by REFER 15:44:14.041 phone.js:148 phone>>> transfer recipient. Created call AudioCodesSession {js_session: RTCSession, data: {…}} 15:44:14.045 jssip.js:26610 Timer J expired for transaction z9hG4bKac1310525137 15:44:14.048 phone.js:148 call-log db: added 15:44:14.059 jssip.js:26610 session connecting 15:44:14.059 jssip.js:26610 emit "connecting" 15:44:14.060 jssip.js:26610 createLocalDescription() 15:44:14.708 jssip.js:26610 received WebSocket message 15:44:14.708 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK9738921 From: sip:[email protected];tag=o5g4in2nl5 To: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 179 NOTIFY Contact: sip:[email protected]:5060;transport=ws Supported: outbound Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:16.063 jssip.js:26610 [webrtc] ice gathering timeout 15:44:16.064 jssip.js:26610 emit "sdp" 15:44:16.064 phone.js:148 AC: Event "sdp" NULL (0) {originator: "local", type: "offer", sdp: "v=0 ↵o=- 421976993611128700 2 IN IP4 127.0.0.1 ↵s=…6548 label:db2cad6c-54f9-4bb7-a2e0-c497a629f879 ↵"} 15:44:16.066 jssip.js:26610 emit "sending" [request:InitialOutgoingInviteRequest {ua: UA, headers: {…}, method: "INVITE", ruri: URI, body: "v=0 ↵o=- 421976993611128700 2 IN IP4 127.0.0.1 ↵s=…6548 label:db2cad6c-54f9-4bb7-a2e0-c497a629f879 ↵", …}] 15:44:16.067 jssip.js:26610 send() 15:44:16.068 jssip.js:26610 sending message:
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK6928725 Max-Forwards: 69 To: sip:[email protected] From: "Web2" sip:[email protected];tag=8d3q28jvla Call-ID: 8r16j37smnl8j76n64m9 CSeq: 8502 INVITE Contact: sip:[email protected];transport=ws;ob Content-Type: application/sdp Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: ice,replaces,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 1497
v=0 o=- 421976993611128700 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio a=msid-semantic: WMS zip7U9cvzqbnku1i2VWA6HvWcDtX9x0FIWnb m=audio 50587 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 c=IN IP4 172.30.241.110 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:605072694 1 udp 2122260223 172.30.241.110 50587 typ host generation 0 network-id 1 network-cost 10 a=candidate:1788039622 1 tcp 1518280447 172.30.241.110 9 typ host tcptype active generation 0 network-id 1 network-cost 10 a=ice-ufrag:phqi a=ice-pwd:mfxZE0Em2coEceWeAqa/IJEV a=ice-options:trickle a=fingerprint:sha-256 62:91:C5:29:36:A2:7E:78:48:62:5E:EF:D9:6D:28:60:05:99:C3:D0:27:B0:59:61:11:3E:DE:D0:52:31:89:F4 a=setup:actpass a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:1503076548 cname:J2zgmN2rfmF7tp5J a=ssrc:1503076548 msid:zip7U9cvzqbnku1i2VWA6HvWcDtX9x0FIWnb db2cad6c-54f9-4bb7-a2e0-c497a629f879 a=ssrc:1503076548 mslabel:zip7U9cvzqbnku1i2VWA6HvWcDtX9x0FIWnb a=ssrc:1503076548 label:db2cad6c-54f9-4bb7-a2e0-c497a629f879
15:44:16.068 jssip.js:26610 send() 15:44:16.297 jssip.js:26610 received WebSocket message 15:44:16.298 jssip.js:26610 received text message:
SIP/2.0 100 Trying Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK6928725 From: "Web2" sip:[email protected];tag=8d3q28jvla To: sip:[email protected] Call-ID: 8r16j37smnl8j76n64m9 CSeq: 8502 INVITE Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:16.300 jssip.js:26610 receiveInviteResponse() 15:44:21.040 jssip.js:26610 received WebSocket message 15:44:21.041 jssip.js:26610 received text message:
BYE sip:[email protected];transport=ws SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1564768351 Max-Forwards: 68 From: "Web1" sip:[email protected];tag=1c1684898816 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: [email protected] CSeq: 4 BYE Supported: outbound Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO User-Agent: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:21.045 jssip.js:26610 receiveRequest() 15:44:21.045 jssip.js:26610 send() 15:44:21.046 jssip.js:26610 sending message:
SIP/2.0 200 OK Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1564768351 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=1c1684898816 Call-ID: [email protected] CSeq: 4 BYE Supported: outbound Content-Length: 0
15:44:21.046 jssip.js:26610 send() 15:44:21.047 jssip.js:26610 session ended 15:44:21.048 jssip.js:26610 close() 15:44:21.054 jssip.js:26610 close() | closing local MediaStream 15:44:21.055 jssip.js:26610 dialog [email protected] deleted 15:44:21.056 jssip.js:26610 emit "ended" 15:44:21.057 phone.js:148 AC>>: callTerminated (ended) AudioCodesSession {js_session: RTCSession, data: {…}, _remoteStreamAdded: true} Terminated 15:44:21.059 phone.js:148 phone>>> call terminated callback, cause="Terminated" 15:44:21.060 phone.js:148 AC: duration(): returns 24 15:44:21.065 phone.js:148 Call log: 24 Dec 2018, 15:43:52 in web1 "Web1" 24 sec 15:44:21.068 phone.js:148 AudioPlayer: play: {name: "busyTone", volume: 0.2, repeat: 3} 15:44:21.071 jssip.js:26610 Timer J expired for transaction z9hG4bKac1564768351 15:44:21.072 phone.js:148 call-log db: updated 15:44:23.946 phone.js:148 AudioPlayer: onended busyTone 15:44:28.757 jssip.js:26610 Timer L expired for transaction z9hG4bKac1453434246 15:44:33.612 jssip.js:26610 received WebSocket message 15:44:33.612 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK6928725 From: "Web2" sip:[email protected];tag=8d3q28jvla To: sip:[email protected];tag=mop1o7bhvo Call-ID: 8r16j37smnl8j76n64m9 CSeq: 8502 INVITE Contact: sip:[email protected]:443;transport=wss Supported: ice,outbound,replaces,sdp-anat Server: Mediant SW/v.7.20A.251.038 Content-Type: application/sdp Content-Length: 782 X-Greeting: You are welcome !
v=0 o=- 712020361 1593675033 IN IP4 52.40.162.88 s=- t=0 0 a=ice-lite m=audio 6825 UDP/TLS/RTP/SAVPF 111 103 9 0 8 105 13 110 c=IN IP4 52.40.162.88 a=ice-ufrag:x9S2H3SoVWnMVdWN a=ice-pwd:KQt0xxYg5F+N1WjRQ3k+5ThX a=fingerprint:sha-256 44:3E:CA:D6:9D:6A:C4:32:BD:D8:CA:8C:6A:23:04:75:7C:EE:4C:98:86:EB:54:83:87:18:92:EF:6D:E8:7D:76 a=setup:active a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=ssrc:382849458 cname:X+0Q/q8KHhz6x+Zf a=candidate:1578052025 1 udp 2130706431 52.40.162.88 6825 typ host
15:44:33.612 jssip.js:26610 receiveInviteResponse() 15:44:33.612 jssip.js:26610 new UAC dialog created with status CONFIRMED 15:44:33.612 jssip.js:26610 emit "sdp" 15:44:33.612 phone.js:148 AC: Event "sdp" CONFIRMED (9) {originator: "remote", type: "answer", sdp: "v=0 ↵o=- 712020361 1593675033 IN IP4 52.40.162.88 …025 1 udp 2130706431 52.40.162.88 6825 typ host ↵"} 15:44:33.622 phone.js:148 [webrtc] >> connection addstream MediaStream {id: "zip7U9cvzqbnku1i2VWA6HvWcDtX9x0FIWnb", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} MediaStream {id: "default", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} 15:44:33.622 phone.js:148 AC>>: [connection addstream] callShowStreams AudioCodesSession {js_session: RTCSession, data: {…}} MediaStream {id: "zip7U9cvzqbnku1i2VWA6HvWcDtX9x0FIWnb", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} MediaStream {id: "default", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} 15:44:33.622 phone.js:148 phone>>> callShowStreams (transfer call) 15:44:33.622 jssip.js:26610 session accepted 15:44:33.622 jssip.js:26610 emit "accepted" 15:44:33.622 jssip.js:26610 notify() 15:44:33.622 jssip.js:26610 sendRequest() 15:44:33.632 jssip.js:26610 acceptAndTerminate() 15:44:33.632 jssip.js:26610 sendRequest() 15:44:33.634 jssip.js:26610 send() 15:44:33.634 jssip.js:26610 sending message:
ACK sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4242149 Max-Forwards: 69 To: sip:[email protected];tag=mop1o7bhvo From: "Web2" sip:[email protected];tag=8d3q28jvla Call-ID: 8r16j37smnl8j76n64m9 CSeq: 8502 ACK Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:44:33.635 jssip.js:26610 send() 15:44:33.636 jssip.js:26610 sendRequest() 15:44:33.638 jssip.js:26610 send() 15:44:33.639 jssip.js:26610 sending message:
BYE sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4638329 Max-Forwards: 69 To: sip:[email protected];tag=mop1o7bhvo From: "Web2" sip:[email protected];tag=8d3q28jvla Call-ID: 8r16j37smnl8j76n64m9 CSeq: 8503 BYE Reason: SIP ;cause=488; text="Not Acceptable Here" Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:44:33.640 jssip.js:26610 send()
15:44:33.640 jssip.js:26610 session failed
15:44:33.641 jssip.js:26610 close()
15:44:33.642 jssip.js:26610 emit "failed"
15:44:33.642 jssip.js:26610 notify()
15:44:33.643 jssip.js:26610 sendRequest()
15:44:33.644 jssip.js:18113 Uncaught (in promise) TypeError: Cannot read property 'sendRequest' of undefined
at RTCSession.sendRequest (jssip.js:18113)
at ReferNotifier.notify (jssip.js:20566)
at RTCSession.
SIP/2.0 200 OK Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4638329 From: "Web2" sip:[email protected];tag=8d3q28jvla To: sip:[email protected];tag=mop1o7bhvo Call-ID: 8r16j37smnl8j76n64m9 CSeq: 8503 BYE Contact: sip:[email protected]:443;transport=wss Supported: outbound Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:45.139 jssip.js:26610 Timer L expired for transaction z9hG4bKac1249374733
15:44:48.067 jssip.js:26610 Timer B expired for transaction z9hG4bK6928725
15:44:51.377 jssip.js:26610 terminate()
15:44:51.378 jssip.js:1089 Uncaught InvalidStateError: Invalid status: 8
at RTCSession.terminate (https://webrtcdemo.audiocodes.com/work/jssip.js:17602:15)
at RTCPeerConnection.
REGISTER sip:audiocodes.com SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK1802992 Max-Forwards: 69 To: sip:[email protected] From: "Web1" sip:[email protected];tag=t4gf723em6 Call-ID: bcg72cngqceo1cpe3r8v3q CSeq: 1 REGISTER X-SBC: AudioCodes Mediant Contact: sip:[email protected];transport=ws;+sip.ice;reg-id=1;+sip.instance="urn:uuid:1c36a911-545b-4600-8fec-ad0f0a5bbfdf";expires=600 Expires: 600 Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: path,gruu,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:42:02.427 jssip.js:26610 send() 15:42:02.648 jssip.js:26610 received WebSocket message 15:42:02.649 jssip.js:26610 received text message:
SIP/2.0 401 Unauthorized Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK1802992 From: "Web1" sip:[email protected];tag=t4gf723em6 To: sip:[email protected];tag=1c1074231176 Call-ID: bcg72cngqceo1cpe3r8v3q CSeq: 1 REGISTER www-authenticate: Digest realm="DefaultSipRealm",nonce="MjE3NjczNzkyNzoyMjI4MTI0ODI=",qop="auth",algorithm=MD5 Content-Length: 0
15:42:02.659 jssip.js:26610 authenticate() | response generated 15:42:02.659 jssip.js:26610 send() 15:42:02.659 jssip.js:26610 sending message:
REGISTER sip:audiocodes.com SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK6262494 Max-Forwards: 69 To: sip:[email protected] From: "Web1" sip:[email protected];tag=t4gf723em6 Call-ID: bcg72cngqceo1cpe3r8v3q CSeq: 2 REGISTER Authorization: Digest algorithm=MD5, username="web1", realm="DefaultSipRealm", nonce="MjE3NjczNzkyNzoyMjI4MTI0ODI=", uri="sip:audiocodes.com", response="5683e48a5cf93ff2fa8f2f899e0a45f1", qop=auth, cnonce="o2e720qll8rb", nc=00000001 X-SBC: AudioCodes Mediant Contact: sip:[email protected];transport=ws;+sip.ice;reg-id=1;+sip.instance="urn:uuid:1c36a911-545b-4600-8fec-ad0f0a5bbfdf";expires=600 Expires: 600 Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: path,gruu,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:42:02.660 jssip.js:26610 send() 15:42:02.877 jssip.js:26610 received WebSocket message 15:42:02.878 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK6262494 From: "Web1" sip:[email protected];tag=t4gf723em6 To: sip:[email protected];tag=1c925797018 Call-ID: bcg72cngqceo1cpe3r8v3q CSeq: 2 REGISTER Contact: sip:[email protected];transport=ws;+sip.instance="urn:uuid:1c36a911-545b-4600-8fec-ad0f0a5bbfdf";expires=595;+sip.ice;reg-id=1 Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE Expires: 595 Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:42:02.883 phone.js:148 AC>>: loginStateChanged: isLogin=true "login" 15:42:02.883 phone.js:148 phone>>> loginStateChanged: login 15:42:12.630 phone.js:148 AC: keep-alive: Server supports CRLF pong 15:43:45.383 phone.js:148 Let enable sound... 15:43:45.384 phone.js:148 AC: audio call(): web2 15:43:45.384 jssip.js:26610 call() 15:43:45.384 jssip.js:26610 new 15:43:45.385 jssip.js:26610 connect() 15:43:45.391 jssip.js:26610 emit "peerconnection" 15:43:45.391 jssip.js:26610 newRTCSession() 15:43:45.392 phone.js:148 AC: event outgoing "newRTCSession" {originator: "local", session: RTCSession, request: InitialOutgoingInviteRequest} 15:43:45.394 phone.js:148 AC: connection exists, set "addstream" listener 15:43:45.395 phone.js:148 AC>>: outgoing call created by phone.call() 15:43:45.395 phone.js:148 AC: [VIDEO] make outgoing call. Set temporary _video=false 15:43:45.402 phone.js:148 call-log db: added 15:43:45.494 phone.js:148 Sound is enabled 15:43:45.528 jssip.js:26610 session connecting 15:43:45.528 jssip.js:26610 emit "connecting" 15:43:45.529 jssip.js:26610 createLocalDescription() 15:43:45.856 jssip.js:26610 emit "sdp" 15:43:45.857 phone.js:148 AC: Event "sdp" NULL (0) {originator: "local", type: "offer", sdp: "v=0 ↵o=- 4568757987584614855 2 IN IP4 127.0.0.1 ↵s…3469 label:7eebf9d9-ae34-4222-a457-65d5a6690edf ↵"} 15:43:45.858 jssip.js:26610 emit "sending" [request:InitialOutgoingInviteRequest {ua: UA, headers: {…}, method: "INVITE", ruri: URI, body: "v=0 ↵o=- 4568757987584614855 2 IN IP4 127.0.0.1 ↵s…3469 label:7eebf9d9-ae34-4222-a457-65d5a6690edf ↵", …}] 15:43:45.858 jssip.js:26610 send() 15:43:45.859 jssip.js:26610 sending message:
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK4030099 Max-Forwards: 69 To: sip:[email protected] From: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 7496 INVITE X-Greeting: Nice to see you! Contact: sip:[email protected];transport=ws;ob Content-Type: application/sdp Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: ice,replaces,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 1457
v=0 o=- 4568757987584614855 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio a=msid-semantic: WMS eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT m=audio 62797 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 c=IN IP4 82.80.95.152 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:4162506903 1 udp 2122260223 82.80.95.152 62797 typ host generation 0 network-id 1 a=candidate:3063491687 1 tcp 1518280447 82.80.95.152 9 typ host tcptype active generation 0 network-id 1 a=ice-ufrag:zQsR a=ice-pwd:9jzNRCVSFkfwKrgpay1ePZfm a=ice-options:trickle a=fingerprint:sha-256 3A:00:40:DD:09:D5:B1:D3:DA:6F:3D:01:50:B3:88:44:1A:54:0F:89:F1:EA:D7:39:03:D7:38:69:9B:46:00:06 a=setup:actpass a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:509723469 cname:nsq8kvNjGd90bEkl a=ssrc:509723469 msid:eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT 7eebf9d9-ae34-4222-a457-65d5a6690edf a=ssrc:509723469 mslabel:eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT a=ssrc:509723469 label:7eebf9d9-ae34-4222-a457-65d5a6690edf
15:43:45.859 jssip.js:26610 send() 15:43:46.074 jssip.js:26610 received WebSocket message 15:43:46.074 jssip.js:26610 received text message:
SIP/2.0 100 Trying Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK4030099 From: "Web1" sip:[email protected];tag=iicondnhv5 To: sip:[email protected] Call-ID: u644j9au18kaahg88kkk CSeq: 7496 INVITE Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:43:46.076 jssip.js:26610 receiveInviteResponse() 15:43:46.329 jssip.js:26610 received WebSocket message 15:43:46.329 jssip.js:26610 received text message:
SIP/2.0 180 Ringing Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK4030099 From: "Web1" sip:[email protected];tag=iicondnhv5 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: u644j9au18kaahg88kkk CSeq: 7496 INVITE Contact: sip:[email protected]:443;transport=wss Supported: ice,outbound,replaces Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:43:46.330 jssip.js:26610 receiveInviteResponse() 15:43:46.331 jssip.js:26610 new UAC dialog created with status EARLY 15:43:46.332 jssip.js:26610 session progress 15:43:46.332 jssip.js:26610 emit "progress" 15:43:46.332 phone.js:148 AC>>: outgoingCallProgress AudioCodesSession {js_session: RTCSession, data: {…}} 15:43:46.333 phone.js:148 phone>>> outgoing call progress 15:43:46.334 phone.js:148 AudioPlayer: play: {name: "ringingTone", loop: true, volume: 0.2} 15:43:50.782 jssip.js:26610 received WebSocket message 15:43:50.782 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK4030099 From: "Web1" sip:[email protected];tag=iicondnhv5 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: u644j9au18kaahg88kkk CSeq: 7496 INVITE Contact: sip:[email protected]:443;transport=wss Supported: ice,outbound,replaces,sdp-anat Server: Mediant SW/v.7.20A.251.038 Content-Type: application/sdp Content-Length: 838 X-Greeting: You are welcome !
v=0 o=- 351891456 1130298608 IN IP4 52.40.162.88 s=- t=0 0 a=ice-lite m=audio 6815 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 c=IN IP4 52.40.162.88 a=ice-ufrag:aXwoj4WPOCFWYrlu a=ice-pwd:TLmfCDKhD+jqw+cLE8247scu a=fingerprint:sha-256 44:3E:CA:D6:9D:6A:C4:32:BD:D8:CA:8C:6A:23:04:75:7C:EE:4C:98:86:EB:54:83:87:18:92:EF:6D:E8:7D:76 a=setup:active a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=ssrc:2033828356 cname:Kui4sontzvZSxONW a=candidate:375900753 1 udp 2130706431 52.40.162.88 6815 typ host
15:43:50.787 jssip.js:26610 receiveInviteResponse() 15:43:50.788 jssip.js:26610 dialog u644j9au18kaahg88kkkiicondnhv5o5g4in2nl5 changed to CONFIRMED state 15:43:50.788 jssip.js:26610 emit "sdp" 15:43:50.788 phone.js:148 AC: Event "sdp" CONFIRMED (9) {originator: "remote", type: "answer", sdp: "v=0 ↵o=- 351891456 1130298608 IN IP4 52.40.162.88 …753 1 udp 2130706431 52.40.162.88 6815 typ host ↵"} 15:43:50.794 phone.js:148 [webrtc] >> connection addstream MediaStream {id: "eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} MediaStream {id: "default", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} 15:43:50.795 phone.js:148 AC>>: [connection addstream] callShowStreams AudioCodesSession {js_session: RTCSession, data: {…}} MediaStream {id: "eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} MediaStream {id: "default", active: true, onaddtrack: null, onremovetrack: null, onactive: null, …} 15:43:50.796 phone.js:148 phone>>> callShowStreams 15:43:50.796 phone.js:148 video state: inactive 15:43:50.797 phone.js:148 hide local video view 15:43:50.797 phone.js:148 local audio:true video:- 15:43:50.797 phone.js:148 remote audio:true video:- 15:43:50.797 jssip.js:26610 session accepted 15:43:50.798 jssip.js:26610 emit "accepted" 15:43:50.798 jssip.js:26610 sendRequest() 15:43:50.799 jssip.js:26610 send() 15:43:50.799 jssip.js:26610 sending message:
ACK sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK3005758 Max-Forwards: 69 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 7496 ACK Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:43:50.800 jssip.js:26610 send() 15:43:50.800 jssip.js:26610 session confirmed 15:43:50.800 jssip.js:26610 emit "confirmed" 15:43:50.800 phone.js:148 AC>>: callConfirmed AudioCodesSession {js_session: RTCSession, data: {…}, _remoteStreamAdded: true} ACK sent 15:43:50.801 phone.js:148 phone>>> callConfirmed 15:43:50.811 phone.js:148 call-log db: updated 15:44:06.664 phone.js:148 blind transfer web3 15:44:06.665 phone.js:148 AC: hold(true) 15:44:06.665 jssip.js:26610 hold() 15:44:06.665 jssip.js:26610 session onhold 15:44:06.666 jssip.js:26610 emit "hold" 15:44:06.666 phone.js:148 AC>>: callHoldSholdStateChanged isHold=true isRemote=false session: AudioCodesSession {js_session: RTCSession, data: {…}, _remoteStreamAdded: true} 15:44:06.667 phone.js:148 phone>>> callHoldStateChanged 15:44:06.667 jssip.js:26610 sendReinvite() 15:44:06.668 jssip.js:26610 createLocalDescription() 15:44:06.674 jssip.js:26610 emit "sdp" 15:44:06.674 phone.js:148 AC: Event "sdp" CONFIRMED (9) {originator: "local", type: "offer", sdp: "v=0 ↵o=- 4568757987584614855 3 IN IP4 127.0.0.1 ↵s…3469 label:7eebf9d9-ae34-4222-a457-65d5a6690edf ↵"} 15:44:06.678 jssip.js:26610 mangleOffer() | me on hold, mangling offer 15:44:06.680 jssip.js:26610 sendRequest() 15:44:06.682 jssip.js:26610 send() 15:44:06.682 jssip.js:26610 sending message:
INVITE sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5311072 Max-Forwards: 69 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 7497 INVITE Contact: sip:[email protected];transport=ws;ob Content-Type: application/sdp Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: ice,replaces,outbound User-Agent: AudioCodes WebRTC phone Content-Length: 1457
v=0 o=- 4568757987584614855 3 IN IP4 127.0.0.1 s=- t=0 0 a=msid-semantic: WMS eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT a=group:BUNDLE audio m=audio 62797 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 c=IN IP4 82.80.95.152 a=rtpmap:111 opus/48000/2 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=fmtp:111 minptime=10;useinbandfec=1 a=rtcp:9 IN IP4 0.0.0.0 a=rtcp-fb:111 transport-cc a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=setup:actpass a=mid:audio a=sendonly a=ice-ufrag:zQsR a=ice-pwd:9jzNRCVSFkfwKrgpay1ePZfm a=fingerprint:sha-256 3A:00:40:DD:09:D5:B1:D3:DA:6F:3D:01:50:B3:88:44:1A:54:0F:89:F1:EA:D7:39:03:D7:38:69:9B:46:00:06 a=candidate:4162506903 1 udp 2122260223 82.80.95.152 62797 typ host generation 0 network-id 1 a=candidate:3063491687 1 tcp 1518280447 82.80.95.152 9 typ host tcptype active generation 0 network-id 1 a=ice-options:trickle a=ssrc:509723469 cname:nsq8kvNjGd90bEkl a=ssrc:509723469 msid:eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT 7eebf9d9-ae34-4222-a457-65d5a6690edf a=ssrc:509723469 mslabel:eAarRmMiT3n2y9vsugHoAOggE7oLtwGr4lfT a=ssrc:509723469 label:7eebf9d9-ae34-4222-a457-65d5a6690edf a=rtcp-mux
15:44:06.683 jssip.js:26610 send() 15:44:07.177 jssip.js:26610 received WebSocket message 15:44:07.177 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5311072 From: "Web1" sip:[email protected];tag=iicondnhv5 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: u644j9au18kaahg88kkk CSeq: 7497 INVITE Contact: sip:[email protected]:443;transport=wss Supported: ice,outbound,replaces,sdp-anat Server: Mediant SW/v.7.20A.251.038 Content-Type: application/sdp Content-Length: 838
v=0 o=- 351891456 1130298609 IN IP4 52.40.162.88 s=- t=0 0 a=ice-lite m=audio 6815 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 c=IN IP4 52.40.162.88 a=ice-ufrag:aXwoj4WPOCFWYrlu a=ice-pwd:TLmfCDKhD+jqw+cLE8247scu a=fingerprint:sha-256 44:3E:CA:D6:9D:6A:C4:32:BD:D8:CA:8C:6A:23:04:75:7C:EE:4C:98:86:EB:54:83:87:18:92:EF:6D:E8:7D:76 a=setup:active a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=recvonly a=rtcp-mux a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=ssrc:2033828356 cname:Kui4sontzvZSxONW a=candidate:375900753 1 udp 2130706431 52.40.162.88 6815 typ host
15:44:07.184 jssip.js:26610 sendRequest() 15:44:07.186 jssip.js:26610 send() 15:44:07.187 jssip.js:26610 sending message:
ACK sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK8441335 Max-Forwards: 69 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 7497 ACK Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:44:07.187 jssip.js:26610 send() 15:44:07.189 jssip.js:26610 emit "sdp" 15:44:07.190 phone.js:148 AC: Event "sdp" CONFIRMED (9) {originator: "remote", type: "answer", sdp: "v=0 ↵o=- 351891456 1130298609 IN IP4 52.40.162.88 …753 1 udp 2130706431 52.40.162.88 6815 typ host ↵"} 15:44:07.198 jssip.js:26610 refer() 15:44:07.199 jssip.js:26610 sendRefer() 15:44:07.200 jssip.js:26610 sendRequest() 15:44:07.202 jssip.js:26610 send() 15:44:07.202 jssip.js:26610 sending message:
REFER sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5653778 Max-Forwards: 69 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 7498 REFER Refer-To: sip:[email protected] Contact: sip:[email protected];transport=ws;ob Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:44:07.203 jssip.js:26610 send() 15:44:08.045 jssip.js:26610 received WebSocket message 15:44:08.045 jssip.js:26610 received text message:
SIP/2.0 202 Accepted Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5653778 From: "Web1" sip:[email protected];tag=iicondnhv5 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: u644j9au18kaahg88kkk CSeq: 7498 REFER Contact: sip:[email protected]:443;transport=wss Supported: outbound Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:08.048 jssip.js:26610 REFER succeeded 15:44:08.049 jssip.js:26610 emit "requestSucceeded" 15:44:08.050 phone.js:148 AC>>: transferOriginatorNotification progress [REFER accepted] 15:44:08.050 phone.js:148 phone>>> transfer originator: transfer in progress... 15:44:08.287 jssip.js:26610 received WebSocket message 15:44:08.288 jssip.js:26610 received text message:
NOTIFY sip:[email protected];transport=ws;ob SIP/2.0 Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac459636273 Max-Forwards: 68 From: sip:[email protected];tag=o5g4in2nl5 To: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 1 NOTIFY Contact: sip:[email protected]:443;transport=wss Supported: outbound Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Event: refer;id=7498 Subscription-State: active;expires=300 User-Agent: Mediant SW/v.7.20A.251.038 Content-Type: message/sipfrag;version=2.0 Content-Length: 18
SIP/2.0 100 Trying
15:44:08.295 jssip.js:26610 receiveRequest() 15:44:08.296 jssip.js:26610 receiveNotify() 15:44:08.296 jssip.js:26610 receiveNotify() 15:44:08.297 phone.js:148 AC>>: transferOriginator progress [NOTIFY 1xx] 15:44:08.298 phone.js:148 phone>>> transfer originator: transfer in progress... 15:44:08.299 jssip.js:26610 send() 15:44:08.299 jssip.js:26610 sending message:
SIP/2.0 200 OK Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac459636273 To: "Web1" sip:[email protected];tag=iicondnhv5 From: sip:[email protected];tag=o5g4in2nl5 Call-ID: u644j9au18kaahg88kkk CSeq: 1 NOTIFY Supported: outbound Content-Length: 0
15:44:08.299 jssip.js:26610 send() 15:44:08.300 jssip.js:26610 Timer J expired for transaction z9hG4bKac459636273 15:44:14.640 phone.js:148 AC: terminate() 15:44:14.641 jssip.js:26610 terminate() 15:44:14.641 jssip.js:26610 terminating session 15:44:14.641 jssip.js:26610 sendRequest() 15:44:14.642 jssip.js:26610 send() 15:44:14.642 jssip.js:26610 sending message:
BYE sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5765098 Max-Forwards: 69 To: sip:[email protected];tag=o5g4in2nl5 From: "Web1" sip:[email protected];tag=iicondnhv5 Call-ID: u644j9au18kaahg88kkk CSeq: 7499 BYE Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
15:44:14.642 jssip.js:26610 send() 15:44:14.643 jssip.js:26610 session ended 15:44:14.643 jssip.js:26610 close() 15:44:14.648 jssip.js:26610 close() | closing local MediaStream 15:44:14.649 jssip.js:26610 dialog u644j9au18kaahg88kkkiicondnhv5o5g4in2nl5 deleted 15:44:14.649 jssip.js:26610 emit "ended" 15:44:14.650 phone.js:148 AC>>: callTerminated (ended) AudioCodesSession {js_session: RTCSession, data: {…}, _remoteStreamAdded: true} Terminated 15:44:14.651 phone.js:148 phone>>> call terminated callback, cause="Terminated" 15:44:14.651 phone.js:148 AC: duration(): returns 23 15:44:14.654 phone.js:148 Call log: 24 Dec 2018, 15:43:45 out web2 23 sec 15:44:14.655 phone.js:148 AudioPlayer: play: {name: "busyTone", volume: 0.2, repeat: 3} 15:44:14.657 phone.js:148 call-log db: updated 15:44:15.078 jssip.js:26610 received WebSocket message 15:44:15.078 jssip.js:26610 received text message:
SIP/2.0 200 OK Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5765098 From: "Web1" sip:[email protected];tag=iicondnhv5 To: sip:[email protected];tag=o5g4in2nl5 Call-ID: u644j9au18kaahg88kkk CSeq: 7499 BYE Contact: sip:[email protected]:443;transport=wss Supported: outbound Server: Mediant SW/v.7.20A.251.038 Content-Length: 0
15:44:17.540 phone.js:148 AudioPlayer: onended busyTone 15:44:17.871 jssip.js:26610 Timer B expired for transaction z9hG4bK4030099 15:44:22.795 jssip.js:26610 Timer M expired for transaction z9hG4bK4030099 15:44:38.691 jssip.js:26610 Timer B expired for transaction z9hG4bK5311072 15:44:39.198 jssip.js:26610 Timer M expired for transaction z9hG4bK5311072
Only logs are needed, not any .js file.
The issue is that JsSIP is trying to send a NOTIFY upon failure event. By that moment the RTCSession is already closed.
Anyway is not clear to me why the session is failing. Please log the error message on the RTCSession::failed event callback and attach the logs for the 2nd phone.
The BYE from phone2 to phone3 has 488 reason:
15:44:33.639 jssip.js:26610 sending message:
BYE sip:[email protected]:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4638329
Max-Forwards: 69
To: <sip:[email protected]>;tag=mop1o7bhvo
From: "Web2" <sip:[email protected]>;tag=8d3q28jvla
Call-ID: 8r16j37smnl8j76n64m9
CSeq: 8503 BYE
Reason: SIP ;cause=488; text="Not Acceptable Here"
Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO
Supported: outbound
User-Agent: AudioCodes WebRTC phone
Content-Length: 0
However I don't know if such a 488 "Not Acceptable Here" is caused due the NOTIFY failure.
15:44:33.640 jssip.js:26610 send()
15:44:33.640 jssip.js:26610 session failed
15:44:33.641 jssip.js:26610 close()
15:44:33.642 jssip.js:26610 emit "failed"
15:44:33.642 jssip.js:26610 notify()
15:44:33.643 jssip.js:26610 sendRequest()
15:44:33.644 jssip.js:18113 Uncaught (in promise) TypeError: Cannot read property 'sendRequest' of undefined
at RTCSession.sendRequest (jssip.js:18113)
at ReferNotifier.notify (jssip.js:20566)
at RTCSession.<anonymous> (jssip.js:18989)
at emitOne (jssip.js:25814)
at RTCSession.emit (jssip.js:25887)
at RTCSession._failed (jssip.js:20051)
Please @ikq,
Build and try JsSIP master branch. It should be fixed.
OK, thanks.
Currently I tried set breakpoint in phone2:
Seems problem here:
function sendRequest(method, options){ debug(‘sendRequest()’); return this._dialog.sendRequest(method, options) }
Here this is OK. But _dialog === undefined.
From: José Luis Millán [mailto:[email protected]] Sent: Monday, December 24, 2018 17:03 To: versatica/JsSIP [email protected] Subject: Re: [versatica/JsSIP] blind call transfer improvement (#556)
Build and try JsSIP master branch. It should be fixed.
Let us know if master branch is working as expected.
Hi !
Still have the problem, with 3.3.2 version, please see attached log.
Regards, iqk
From: José Luis Millán [mailto:[email protected]] Sent: Monday, December 24, 2018 17:12 To: versatica/JsSIP [email protected] Subject: Re: [versatica/JsSIP] blind call transfer improvement (#556)
Let us know if master branch is working as expected.
From: iqk. No, the problem is not fixed. The call 2nd - 3rd phone is closed after sending NOTIFY error . . . . . . 17:25:32.890 jssip.js:26595 session accepted 17:25:32.890 jssip.js:26595 emit "accepted" 17:25:32.890 jssip.js:26595 notify() 17:25:32.890 jssip.js:26595 sendRequest() 17:25:32.900 jssip.js:26595 acceptAndTerminate() 17:25:32.900 jssip.js:26595 sendRequest() 17:25:32.902 jssip.js:26595 send() 17:25:32.903 jssip.js:26595 sending message:
ACK sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS clu8qjlgnqoj.invalid;branch=z9hG4bK5871027 Max-Forwards: 69 To: sip:[email protected];tag=m9gcgfqm4b From: "Web2" sip:[email protected];tag=j66s29na0l Call-ID: dnqmsbfq8o5h2rmpe3q0 CSeq: 5664 ACK Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
17:25:32.903 jssip.js:26595 send() 17:25:32.904 jssip.js:26595 sendRequest() 17:25:32.906 jssip.js:26595 send() 17:25:32.907 jssip.js:26595 sending message:
BYE sip:[email protected]:443;transport=wss SIP/2.0 Via: SIP/2.0/WSS clu8qjlgnqoj.invalid;branch=z9hG4bK9906014 Max-Forwards: 69 To: sip:[email protected];tag=m9gcgfqm4b From: "Web2" sip:[email protected];tag=j66s29na0l Call-ID: dnqmsbfq8o5h2rmpe3q0 CSeq: 5665 BYE Reason: SIP ;cause=488; text="Not Acceptable Here" Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO Supported: outbound User-Agent: AudioCodes WebRTC phone Content-Length: 0
17:25:32.907 jssip.js:26595 send()
17:25:32.908 jssip.js:26595 session failed
17:25:32.908 jssip.js:26595 emit "_failed"
17:25:32.909 jssip.js:26595 notify()
17:25:32.910 jssip.js:26595 sendRequest()
17:25:32.910 jssip.js:18115 Uncaught (in promise) TypeError: Cannot read property 'sendRequest' of undefined
at RTCSession.sendRequest (jssip.js:18115)
at ReferNotifier.notify (jssip.js:20544)
at RTCSession.
The change was made to master branch and there is no new release yet.
Have you built JsSIP out of master and tried?
Opps, seem my problem.
I get the build: git clone https://github.com/versatica/JsSIP.git JsSIP
What’s I should do ?
Follow the building instructions and use the resulting .js in /dist folder on your app.
Yes, it’s exactly what I did:
and I see that used in the last testing your fix: Found in dist/jssip.js file using in the last test:
key: "_failed", value: function _failed(originator, message, cause) { debug('session failed'); // Emit private '_failed' event first.
debug('emit "_failed"');
this.emit('_failed', {
originator: originator,
message: message || null,
cause: cause
});
this._close();
debug('emit "failed"');
this.emit('failed', {
originator: originator,
message: message || null,
cause: cause
});
}
And
session.on('_failed', function (_ref4) { var message = _ref4.message, cause = _ref4.cause;
if (message) {
notifier.notify(message.status_code, message.reason_phrase);
} else {
notifier.notify(487, cause);
}
}); // Consider the Replaces header present in the Refer-To URI.
IMHO problem here: exception in notifier.notify(…).
It call RTCSession.js sendRequest()
sendRequest(method, options) { debug('sendRequest()'); return this._dialog.sendRequest(method, options); }
And because RTCSession is terminated, here _dialog will be undefined, So here will be thrown exception.
Seems I found where you set _dialog = undefined
RTCSession._close(){ …. if (this._dialog) { this._dialog.terminate(); delete this._dialog; } }
From: José Luis Millán [mailto:[email protected]] Sent: Monday, December 24, 2018 18:03 To: versatica/JsSIP [email protected] Subject: Re: [versatica/JsSIP] blind call transfer improvement (#556)
Follow the buildinghttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fversatica%2FJsSIP%2Fblob%2Fmaster%2FBUILDING.md&data=02%7C01%7Cigor.kolosov%40audiocodes.com%7Cb0abdac9859a442492cf08d669b95174%7C1911c65c893b42f983fa66c1b86fdf85%7C1%7C0%7C636812641991729465&sdata=fecxXF%2Fhu2iKIPbZBEBub4qAIz1zGUNg9R8PzUcaEzw%3D&reserved=0 instructions and use the resulting .js in /dist folder on your app.
The problem can be seen directly in debugger if set breakpoint as I described before in Chrome dev tools. I set the breakpoint after hangup 1st call and before accept call in 3rd phone.
If you need testing, i'm happy to help Regards, ikq.
Other proposed fix, according yours comment : "// Put this in a try/catch block."
File ReferNotifier.js: Method: notify()
` notify(code, reason) { debug('notify()');
if (this._active === false)
{
return;
}
reason = reason || JsSIP_C.REASON_PHRASE[code] || '';
let state;
if (code >= 200)
{
state = 'terminated;reason=noresource';
}
else
{
state = `active;expires=${this._expires}`;
}
// Put this in a try/catch block.
try {
this._session.sendRequest(JsSIP_C.NOTIFY, {
extraHeaders : [
`Event: ${C.event_type};id=${this._id}`,
`Subscription-State: ${state}`,
`Content-Type: ${C.body_type}`
],
body : `SIP/2.0 ${code} ${reason}`,
eventHandlers : {
// If a negative response is received, subscription is canceled.
onErrorResponse() { this._active = false; }
}
});
} catch(e){
debug('sendRequest exception - ignored', e);
}
} `
You can see in the phone2 log that the fix described problem. During sending NOTIFY was exception, but it was catched and ignored.
. . . . . ..
13:43:41.546 jssip.js:26614 session accepted
13:43:41.546 jssip.js:26614 emit "accepted"
13:43:41.546 jssip.js:26614 notify()
13:43:41.546 jssip.js:26614 sendRequest()
13:43:41.556 jssip.js:26614 sendRequest exception - ignored TypeError: Cannot read property 'sendRequest' of undefined
at RTCSession.sendRequest (jssip.js:18113)
at ReferNotifier.notify (jssip.js:20567)
at RTCSession.
ACK sip:[email protected]:443;transport=wss SIP/2.0 . . . . . .
Could you please avoid so large comments? We don't need to see the entire and repeated log in every new response.
OK, edited and removed.
@ikq,
Can you please send a full JsSIP log with the latest version showing this issue happening?
The issue is happening in 3.3.6 version
Scenario: web1 call to web3 web3 accept call
web3 initiate blind transfer to web2 (send REFER) web1 send NOTIFY to web3 web1 calling to web2
web3 hangup call (send BYE)
web2 accept call web1 try to send NOTIFY to web3 and throws exception. web1 send BYE to web2
Here full log with original jssip 3.3.6. You can see exception at end of log.
Note: In log web1 BYE shown before exception, but really it initiated by the exception.
If use jssip where "this._session.sendRequest(JsSIP_C.NOTIFY, ... " enclosed to try / catch and ignore catched exception, web1 to web2 call will continue.
The issue is happening also in the latest 3.3.7 version blind_transfer_3.3.7.txt
I used last version JSSIP V3.3.6
Scenario: Web1 call to web2 Web2 accept call Web1 hold web2 Web1 call web3 Now the browser is died, I don’t have logs, because broswer was died . I hope you understand what I mean.
在 2019年8月12日,下午4:34,José Luis Millán [email protected] 写道:
@ikq https://github.com/ikq,
Can you please send a full JsSIP log with the latest version showing this issue happening?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/versatica/JsSIP/issues/556?email_source=notifications&email_token=ADKURUZMAADTFEYTMU36WKLQEEOATA5CNFSM4GL7TETKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4B4DUI#issuecomment-520339921, or mute the thread https://github.com/notifications/unsubscribe-auth/ADKURU2XQFUKBK6GORSVTBTQEEOATANCNFSM4GL7TETA.