-
Notifications
You must be signed in to change notification settings - Fork 746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
blind call transfer improvement #556
Comments
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:notifications@github.com]
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
1. Phone1 (user web1) call to phone2 user web2,
2. Phone2 answer, call is established.
3. Phone1 set call on hold.
4. Phone1 send to Phone2 REFER with request to call phone3 (user web3)
5. REFER is accepted, Phone2 starts calling to Phone3
6. (!) Phone1 hangup call (send BYE) to phone2
7. Phone3 answer to incoming call, call between phone2 and phone3 is establish.
8. 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:notifications@github.com]
Sent: Monday, December 24, 2018 15:32
To: versatica/JsSIP <JsSIP@noreply.github.com<mailto:JsSIP@noreply.github.com>>
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:web2@audiocodes.com
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:web2@audiocodes.com>
From: "Web2" <sip:web2@audiocodes.com>;tag=bgt1hprf51
Call-ID: tp4kbf3b7c3qclbt2deg18
CSeq: 1 REGISTER
X-SBC: AudioCodes Mediant
Contact: <sip:d56vmaug@sl69lvifk4ak.invalid;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:web2@audiocodes.com>;tag=bgt1hprf51
To: <sip:web2@audiocodes.com>;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:web2@audiocodes.com>
From: "Web2" <sip:web2@audiocodes.com>;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:d56vmaug@sl69lvifk4ak.invalid;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:web2@audiocodes.com>;tag=bgt1hprf51
To: <sip:web2@audiocodes.com>;tag=1c518977781
Call-ID: tp4kbf3b7c3qclbt2deg18
CSeq: 2 REGISTER
Contact: <sip:d56vmaug@sl69lvifk4ak.invalid;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:d56vmaug@sl69lvifk4ak.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1453434246
Max-Forwards: 68
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
To: <sip:web2@audiocodes.com>
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 1 INVITE
Contact: <sip:FEU391-0-197-6@172.31.38.37: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:web2@audiocodes.com>
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
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:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 1 INVITE
Contact: <sip:d56vmaug@sl69lvifk4ak.invalid;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 21300288082412201813449@172.31.38.37o5g4in2nl51c1684898816 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:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 1 INVITE
Contact: <sip:d56vmaug@sl69lvifk4ak.invalid;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:d56vmaug@sl69lvifk4ak.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac653597232
Max-Forwards: 68
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 1 ACK
Contact: <sip:FEU391-0-197-6@172.31.38.37: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:d56vmaug@sl69lvifk4ak.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1249374733
Max-Forwards: 68
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 2 INVITE
Contact: <sip:FEU391-0-197-6@172.31.38.37: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:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
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:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 2 INVITE
Contact: <sip:d56vmaug@sl69lvifk4ak.invalid;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:d56vmaug@sl69lvifk4ak.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1455785114
Max-Forwards: 68
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 2 ACK
Contact: <sip:FEU391-0-197-6@172.31.38.37: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:d56vmaug@sl69lvifk4ak.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1310525137
Max-Forwards: 68
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 3 REFER
Contact: <sip:FEU391-0-197-6@172.31.38.37:5060;transport=ws;ob>
Supported: outbound
Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO
Refer-To: <sip:web3@audiocodes.com>
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:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
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:FEU391-0-197-6@172.31.38.37:5060;transport=ws;ob SIP/2.0
Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK9738921
Max-Forwards: 69
To: <sip:web1@audiocodes.com>;tag=1c1684898816
From: "Web2" <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: 21300288082412201813449@172.31.38.37
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:web2@audiocodes.com>;tag=o5g4in2nl5
To: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
CSeq: 179 NOTIFY
Contact: <sip:FEU391-0-197-6@172.31.38.37: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:web3@audiocodes.com SIP/2.0
Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK6928725
Max-Forwards: 69
To: <sip:web3@audiocodes.com>
From: "Web2" <sip:web2@audiocodes.com>;tag=8d3q28jvla
Call-ID: 8r16j37smnl8j76n64m9
CSeq: 8502 INVITE
Contact: <sip:d56vmaug@sl69lvifk4ak.invalid;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:web2@audiocodes.com>;tag=8d3q28jvla
To: <sip:web3@audiocodes.com>
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:d56vmaug@sl69lvifk4ak.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac1564768351
Max-Forwards: 68
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: 21300288082412201813449@172.31.38.37
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:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=1c1684898816
Call-ID: 21300288082412201813449@172.31.38.37
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 21300288082412201813449@172.31.38.37o5g4in2nl51c1684898816 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:web2@audiocodes.com>;tag=8d3q28jvla
To: <sip:web3@audiocodes.com>;tag=mop1o7bhvo
Call-ID: 8r16j37smnl8j76n64m9
CSeq: 8502 INVITE
Contact: <sip:FEU391-0-425-6@172.31.38.37: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:FEU391-0-425-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4242149
Max-Forwards: 69
To: <sip:web3@audiocodes.com>;tag=mop1o7bhvo
From: "Web2" <sip:web2@audiocodes.com>;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:FEU391-0-425-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4638329
Max-Forwards: 69
To: <sip:web3@audiocodes.com>;tag=mop1o7bhvo
From: "Web2" <sip:web2@audiocodes.com>;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.<anonymous> (jssip.js:18989)
at emitOne (jssip.js:25814)
at RTCSession.emit (jssip.js:25887)
at RTCSession._failed (jssip.js:20051)
at jssip.js:19338
sendRequest @ jssip.js:18113
notify @ jssip.js:20566
(anonymous) @ jssip.js:18989
emitOne @ jssip.js:25814
emit @ jssip.js:25887
_failed @ jssip.js:20051
(anonymous) @ jssip.js:19338
Promise.catch (async)
(anonymous) @ jssip.js:19335
Promise.then (async)
_receiveInviteResponse @ jssip.js:19325
onReceiveResponse @ jssip.js:19116
_receiveResponse @ jssip.js:21280
onReceiveResponse @ jssip.js:21185
receiveResponse @ jssip.js:22667
onTransportData @ jssip.js:24458
_onData @ jssip.js:23456
_onMessage @ jssip.js:25446
_onMessageHook @ acapi.1.5.0.js:272
15:44:34.424 jssip.js:26610 received WebSocket message
15:44:34.424 jssip.js:26610 received text message:
SIP/2.0 200 OK
Via: SIP/2.0/WSS sl69lvifk4ak.invalid;branch=z9hG4bK4638329
From: "Web2" <sip:web2@audiocodes.com>;tag=8d3q28jvla
To: <sip:web3@audiocodes.com>;tag=mop1o7bhvo
Call-ID: 8r16j37smnl8j76n64m9
CSeq: 8503 BYE
Contact: <sip:FEU391-0-425-6@172.31.38.37: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.<anonymous> (https://webrtcdemo.audiocodes.com/work/jssip.js:18490:19)
_construct @ jssip.js:1089
Wrapper @ jssip.js:1085
InvalidStateError @ jssip.js:1129
terminate @ jssip.js:17602
(anonymous) @ jssip.js:18490
15:42:01.029 utils.js:366 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
createCtx @ utils.js:366
15:42:01.029 utils.js:352 AudioPlayer: AudioContext is suspended [Autoplay Policy]
15:42:01.051 phone.js:148 ------ Date: Mon Dec 24 2018 -------
15:42:01.051 phone.js:148 Browser: Chrome/71.0.3578.98
15:42:01.051 phone.js:148 SIP: JsSIP 3.2.15
15:42:01.051 phone.js:148 AudioCodes API: 1.5.0
15:42:01.051 phone.js:148 Used default phoneServerConfig
15:42:01.052 phone.js:148 Used default phoneConfig
15:42:01.054 phone.js:148 AudioPlayer: downloadSounds Array(1)
15:42:01.059 phone.js:148 hasCamera=true
15:42:01.059 phone.js:148 Used custom phoneAccount
15:42:01.060 phone.js:148 AC: setServerConfig() Object
15:42:01.060 phone.js:148 AC: setReconnectIntervals min=2 max=30
15:42:01.061 phone.js:148 AC: setRegisterExpires=600
15:42:01.061 phone.js:148 AC: setUseSessionTimer=false
15:42:01.061 phone.js:148 AC: setChromeAudioConstraints= echoCancellation,googEchoCancellation,googExperimentalEchoCancellation,googDAEchoCancellation,googAutoGainControl,googNoiseSuppression,googHighpassFilter,googTypingNoiseDetection,googAudioMirroring
15:42:01.061 phone.js:148 AC: setWebSocketKeepAlive ping=10 pong=10 stats=60
15:42:01.061 phone.js:148 AC: setDtmfOptions useWebRTC=true duration=null interToneGap=null
15:42:01.061 phone.js:148 AC: setEnableAddVideo=true
15:42:01.061 phone.js:148 AC: setUserAgent=AudioCodes WebRTC phone
15:42:01.061 phone.js:148 AC: setListeners()
15:42:01.062 phone.js:148 AC: init() autoLogin=true
15:42:01.065 jssip.js:26610 new() [url:"wss://webrtclab.audiocodes.com"]
15:42:01.069 jssip.js:26610 new() [configuration:Object]
15:42:01.074 jssip.js:26610 new()
15:42:01.074 jssip.js:26610 configuration parameters after validation:
15:42:01.074 jssip.js:26610 - authorization_user: "web1"
15:42:01.074 jssip.js:26610 - password: NOT SHOWN
15:42:01.074 jssip.js:26610 - realm: null
15:42:01.074 jssip.js:26610 - ha1: NOT SHOWN
15:42:01.074 jssip.js:26610 - display_name: "Web1"
15:42:01.074 jssip.js:26610 - uri: sip:web1@audiocodes.com
15:42:01.074 jssip.js:26610 - contact_uri: {"_parameters":{"transport":"ws"},"_headers":{},"_scheme":"sip","_user":"lt1h5egr","_host":"e9f5glse8rap.invalid","_port":null}
15:42:01.074 jssip.js:26610 - instance_id: "1c36a911-545b-4600-8fec-ad0f0a5bbfdf"
15:42:01.074 jssip.js:26610 - use_preloaded_route: false
15:42:01.075 jssip.js:26610 - session_timers: false
15:42:01.075 jssip.js:26610 - session_timers_refresh_method: "UPDATE"
15:42:01.075 jssip.js:26610 - no_answer_timeout: 60000
15:42:01.075 jssip.js:26610 - register: true
15:42:01.075 jssip.js:26610 - register_expires: 600
15:42:01.075 jssip.js:26610 - registrar_server: sip:audiocodes.com
15:42:01.075 jssip.js:26610 - connection_recovery_max_interval: 30
15:42:01.075 jssip.js:26610 - connection_recovery_min_interval: 2
15:42:01.075 jssip.js:26610 - via_host: "e9f5glse8rap.invalid"
15:42:01.075 jssip.js:26610 start()
15:42:01.075 jssip.js:26610 connect()
15:42:01.076 jssip.js:26610 connect()
15:42:01.076 jssip.js:26610 connecting to WebSocket wss://webrtclab.audiocodes.com
15:42:01.079 phone.js:148 call-log db: open
15:42:01.083 phone.js:148 call-log db: loaded 100
15:42:01.292 phone.js:148 audioPlayer: sounds are ready: Object
15:42:02.419 jssip.js:26610 WebSocket wss://webrtclab.audiocodes.com connected
15:42:02.420 phone.js:148 AC>>: loginStateChanged: isLogin=false "connected"
15:42:02.421 phone.js:148 phone>>> loginStateChanged: connected
15:42:02.426 jssip.js:26610 send()
15:42:02.427 jssip.js:26610 sending message:
REGISTER sip:audiocodes.com SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK1802992
Max-Forwards: 69
To: <sip:web1@audiocodes.com>
From: "Web1" <sip:web1@audiocodes.com>;tag=t4gf723em6
Call-ID: bcg72cngqceo1cpe3r8v3q
CSeq: 1 REGISTER
X-SBC: AudioCodes Mediant
Contact: <sip:lt1h5egr@e9f5glse8rap.invalid;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:web1@audiocodes.com>;tag=t4gf723em6
To: <sip:web1@audiocodes.com>;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:web1@audiocodes.com>
From: "Web1" <sip:web1@audiocodes.com>;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:lt1h5egr@e9f5glse8rap.invalid;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:web1@audiocodes.com>;tag=t4gf723em6
To: <sip:web1@audiocodes.com>;tag=1c925797018
Call-ID: bcg72cngqceo1cpe3r8v3q
CSeq: 2 REGISTER
Contact: <sip:lt1h5egr@e9f5glse8rap.invalid;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:web2@audiocodes.com SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK4030099
Max-Forwards: 69
To: <sip:web2@audiocodes.com>
From: "Web1" <sip:web1@audiocodes.com>;tag=iicondnhv5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7496 INVITE
X-Greeting: Nice to see you!
Contact: <sip:lt1h5egr@e9f5glse8rap.invalid;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:web1@audiocodes.com>;tag=iicondnhv5
To: <sip:web2@audiocodes.com>
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:web1@audiocodes.com>;tag=iicondnhv5
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7496 INVITE
Contact: <sip:FEU391-0-198-6@172.31.38.37: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:web1@audiocodes.com>;tag=iicondnhv5
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7496 INVITE
Contact: <sip:FEU391-0-198-6@172.31.38.37: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:FEU391-0-198-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK3005758
Max-Forwards: 69
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;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:FEU391-0-198-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5311072
Max-Forwards: 69
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=iicondnhv5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7497 INVITE
Contact: <sip:lt1h5egr@e9f5glse8rap.invalid;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:web1@audiocodes.com>;tag=iicondnhv5
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7497 INVITE
Contact: <sip:FEU391-0-198-6@172.31.38.37: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:FEU391-0-198-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK8441335
Max-Forwards: 69
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;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:FEU391-0-198-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5653778
Max-Forwards: 69
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;tag=iicondnhv5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7498 REFER
Refer-To: <sip:web3@audiocodes.com>
Contact: <sip:lt1h5egr@e9f5glse8rap.invalid;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:web1@audiocodes.com>;tag=iicondnhv5
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7498 REFER
Contact: <sip:FEU391-0-198-6@172.31.38.37: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:lt1h5egr@e9f5glse8rap.invalid;transport=ws;ob SIP/2.0
Via: SIP/2.0/WSS 172.31.38.37:443;alias;branch=z9hG4bKac459636273
Max-Forwards: 68
From: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
To: "Web1" <sip:web1@audiocodes.com>;tag=iicondnhv5
Call-ID: u644j9au18kaahg88kkk
CSeq: 1 NOTIFY
Contact: <sip:FEU391-0-198-6@172.31.38.37: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:web1@audiocodes.com>;tag=iicondnhv5
From: <sip:web2@audiocodes.com>;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:FEU391-0-198-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS e9f5glse8rap.invalid;branch=z9hG4bK5765098
Max-Forwards: 69
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
From: "Web1" <sip:web1@audiocodes.com>;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:web1@audiocodes.com>;tag=iicondnhv5
To: <sip:web2@audiocodes.com>;tag=o5g4in2nl5
Call-ID: u644j9au18kaahg88kkk
CSeq: 7499 BYE
Contact: <sip:FEU391-0-198-6@172.31.38.37: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 Anyway is not clear to me why the session is failing. Please log the error message on the |
The BYE from phone2 to phone3 has 488 reason:
However I don't know if such a 488 "Not Acceptable Here" is caused due the NOTIFY failure.
|
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:notifications@github.com]
Sent: Monday, December 24, 2018 17:03
To: versatica/JsSIP <JsSIP@noreply.github.com>
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:notifications@github.com]
Sent: Monday, December 24, 2018 17:12
To: versatica/JsSIP <JsSIP@noreply.github.com>
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:FEU391-0-162-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS clu8qjlgnqoj.invalid;branch=z9hG4bK5871027
Max-Forwards: 69
To: <sip:web3@audiocodes.com>;tag=m9gcgfqm4b
From: "Web2" <sip:web2@audiocodes.com>;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:FEU391-0-162-6@172.31.38.37:443;transport=wss SIP/2.0
Via: SIP/2.0/WSS clu8qjlgnqoj.invalid;branch=z9hG4bK9906014
Max-Forwards: 69
To: <sip:web3@audiocodes.com>;tag=m9gcgfqm4b
From: "Web2" <sip:web2@audiocodes.com>;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.<anonymous> (jssip.js:18984)
at emitOne (jssip.js:25794)
at RTCSession.emit (jssip.js:25872)
at RTCSession._failed (jssip.js:20020)
at jssip.js:19335
. . . .
|
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:notifications@github.com]
Sent: Monday, December 24, 2018 18:03
To: versatica/JsSIP <JsSIP@noreply.github.com>
Subject: Re: [versatica/JsSIP] blind call transfer improvement (#556)
Follow the building<https://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. If you need testing, i'm happy to help |
Other proposed fix, according yours comment : "// Put this in a try/catch block." File ReferNotifier.js: Method: notify() ` notify(code, reason)
} You can see in the phone2 log that the fix described problem. . . . . . .. ACK sip:FEU391-0-848-7@172.31.38.37: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: web3 initiate blind transfer to web2 (send REFER) web3 hangup call (send BYE) web2 accept call Here full log with original jssip 3.3.6. You can see exception at end of log. Note: If use jssip where "this._session.sendRequest(JsSIP_C.NOTIFY, ... " enclosed to try / catch |
The issue is happening also in the latest 3.3.7 version |
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 ***@***.***> 写道:
@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 <#556?email_source=notifications&email_token=ADKURUZMAADTFEYTMU36WKLQEEOATA5CNFSM4GL7TETKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4B4DUI#issuecomment-520339921>, or mute the thread <https://github.com/notifications/unsubscribe-auth/ADKURU2XQFUKBK6GORSVTBTQEEOATANCNFSM4GL7TETA>.
|
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()');
`
The text was updated successfully, but these errors were encountered: