versatica / JsSIP

JsSIP, the JavaScript SIP library
https://jssip.net
Other
2.42k stars 744 forks source link

Unable to unhold call in version 3.9.1 #806

Open Abbyzhoum opened 1 year ago

Abbyzhoum commented 1 year ago

Now I have two sessions,one call is held and one call is established. I need to exchange two calls,unhold the held call and hold the established call.

when I recivied re-invite event,I need unhold the held call.There is the sip.

1675999094554

When I tell the session to unhold. RTPSession output unhold verification status failed.

JsSIP:RTCSession _isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress 

1676001258779

1676001019763

PeteAUK commented 1 year ago

I believe you're tackling this the wrong way round. You need to hold the active call first and then unhold the paused call. Doing it the other way would result in two active calls.

Abbyzhoum commented 1 year ago

No, I did the right thing. I hold the connected call first, and then unhold the held call when the hold event is received, but the unhold fails at this time. unhold verification status failed. output:

JsSIP:RTCSession _isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress 

sip log

JsSIP:WebSocketInterface received WebSocket message +5s
11:59:01.721 web-phone.umd.js:22776 JsSIP:Transport received text message:INVITE sip:8003@10.18.48.24:41904;transport=ws;ob SIP/2.0
Via: SIP/2.0/WS 114.67.67.72:8443;branch=z9hG4bKf83f.14707234.0
Via: SIP/2.0/UDP 10.18.1.226:18627;rport=18627;received=10.18.1.226;branch=z9hG4bKf83f.51c14eb6.0
Via: SIP/2.0/UDP 10.18.32.146:8629;received=10.18.32.146;rport=8629;branch=z9hG4bKjcBa58e5vj74B
Max-Forwards: 68
From: "8003" <sip:8003@10.18.32.146>;tag=jg1t1F8Nmptam
To: <sip:8003@test.cc>;tag=hgej1t124d
Call-ID: 5a015638-2e9a-123c-6091-fa163e076b05
CSeq: 64051768 INVITE
Contact: <sip:mod_sofia@10.18.32.146:8629>
User-Agent: wellcloud
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
Require: timer
Supported: timer, path, replaces
Session-Expires: 180;refresher=uas
Min-SE: 120
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 664
Wellcloud_Call_ID: 7cade3b0-22b7-4840-b4db-7fec47e9bc93
Wellcloud_Call_Cause: MakeCall

v=0
o=FreeSWITCH 1677189194 1677189196 IN IP4 10.18.32.146
s=FreeSWITCH
c=IN IP4 114.67.67.72
t=0 0
m=audio 20684 RTP/SAVPF 8 101
a=mid:0
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=recvonly
a=rtcp:20685
a=rtcp-mux
a=setup:actpass
a=fingerprint:sha-1 05:A6:B2:1B:97:4F:C4:4A:D8:DF:27:EA:7E:86:52:6C:F0:E1:DC:DF
a=ptime:20
a=ice-ufrag:5cD4q2fF
a=ice-pwd:hxggCq7MyMttzvqqBB5DkAivNr
a=ice-options:trickle
a=candidate:ty80XNKkSfEG67C4 1 UDP 2130706431 114.67.67.72 20684 typ host
a=candidate:ty80XNKkSfEG67C4 2 UDP 2130706430 114.67.67.72 20685 typ host
a=remote-candidates:1 124.78.202.52 49204
a=end-of-candidates
 +5s
11:59:01.722 web-phone.umd.js:22776 JsSIP:Transport send() +1ms
11:59:01.722 web-phone.umd.js:22776 JsSIP:Transport sending message:SIP/2.0 100 Trying
Via: SIP/2.0/WS 114.67.67.72:8443;branch=z9hG4bKf83f.14707234.0
Via: SIP/2.0/UDP 10.18.1.226:18627;rport=18627;received=10.18.1.226;branch=z9hG4bKf83f.51c14eb6.0
Via: SIP/2.0/UDP 10.18.32.146:8629;received=10.18.32.146;rport=8629;branch=z9hG4bKjcBa58e5vj74B
To: <sip:8003@test.cc>;tag=hgej1t124d
From: "8003" <sip:8003@10.18.32.146>;tag=jg1t1F8Nmptam
Call-ID: 5a015638-2e9a-123c-6091-fa163e076b05
CSeq: 64051768 INVITE
Supported: timer,ice,replaces,outbound
Content-Length: 0

 +0ms
11:59:01.722 web-phone.umd.js:22776 JsSIP:WebSocketInterface send() +3ms
11:59:01.723 web-phone.umd.js:22776 JsSIP:RTCSession receiveRequest() +5s
11:59:01.723 web-phone.umd.js:22776 JsSIP:RTCSession receiveReinvite() +0ms
11:59:01.723 web-phone.umd.js:5540 [testRemoteStreamsLength] undefined RemoteStreamsLength: 
11:59:01.723 web-phone.umd.js:5540 {request: IncomingRequest, callback: undefined, reject: ƒ}
11:59:01.724 web-phone.umd.js:5540 [call] hold
11:59:01.724 web-phone.umd.js:22776 JsSIP:RTCSession hold() +1ms
11:59:01.724 web-phone.umd.js:22776 JsSIP:RTCSession session onhold +0ms
11:59:01.724 web-phone.umd.js:22776 JsSIP:RTCSession emit "hold" +0ms
11:59:01.724 web-phone.umd.js:5540 {originator: 'local'}
11:59:01.724 web-phone.umd.js:22776 JsSIP:RTCSession _isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress +0ms
11:59:01.724 web-phone.umd.js:5540 isReadyToReOffer: false
11:59:01.724 web-phone.umd.js:5540 [call] unHold
11:59:01.724 web-phone.umd.js:22776 JsSIP:RTCSession unhold() +0ms
11:59:01.725 web-phone.umd.js:22776 JsSIP:RTCSession _isReadyToReOffer() | there is another INVITE/UPDATE transaction in progress +1ms
11:59:01.725 web-phone.umd.js:22776 JsSIP:RTCSession sendReinvite() +0ms
11:59:01.725 web-phone.umd.js:22776 JsSIP:RTCSession _processInDialogSdpOffer() +0ms
11:59:01.725 web-phone.umd.js:22776 JsSIP:RTCSession emit "sdp" +0ms
11:59:01.725 web-phone.umd.js:5540 [changeSdp] new sdp m=audio 20684 RTP/SAVPF 8 101
11:59:01.725 web-phone.umd.js:5540 {originator: 'remote', type: 'offer', sdp: 'v=0\r\no=FreeSWITCH 1677189194 1677189196 IN IP4 10.…ates:1 124.78.202.52 49204\r\na=end-of-candidates\r\n'}
11:59:01.727 web-phone.umd.js:22776 JsSIP:RTCSession createLocalDescription() +2ms
11:59:01.729 web-phone.umd.js:22776 JsSIP:RTCSession createLocalDescription() +2ms
11:59:01.730 web-phone.umd.js:22776 JsSIP:RTCSession emit "sdp" +1ms
11:59:01.730 web-phone.umd.js:5540 [changeSdp] new sdp m=audio 9 UDP/TLS/RTP/SAVPF 8 0 101 111 63 103 104 9 106 105 13 110 112 113
11:59:01.730 web-phone.umd.js:5540 {originator: 'local', type: 'offer', sdp: 'v=0\r\no=- 8517197132719007780 3 IN IP4 127.0.0.1\r\ns…djUwSJs4z4 01b517e5-ad6e-493a-82f7-52bb9f0236ef\r\n'}
11:59:01.731 web-phone.umd.js:22776 JsSIP:RTCSession mangleOffer() | me on hold, mangling offer +1ms
11:59:01.731 web-phone.umd.js:22776 JsSIP:RTCSession emit "sdp" +0ms
11:59:01.731 web-phone.umd.js:5540 [changeSdp] new sdp m=audio 9 UDP/TLS/RTP/SAVPF 8 0 101 111 63 103 104 9 106 105 13 110 112 113
11:59:01.732 web-phone.umd.js:5540 {originator: 'local', type: 'offer', sdp: 'v=0\r\no=- 8517197132719007780 3 IN IP4 127.0.0.1\r\ns…1b517e5-ad6e-493a-82f7-52bb9f0236ef\r\na=rtcp-mux\r\n'}
11:59:01.732 web-phone.umd.js:22776 JsSIP:RTCSession sendRequest() +1ms
11:59:01.732 web-phone.umd.js:22776 JsSIP:Transport send() +10ms
............