Somehow we've managed to make it work with FreeSWITCH about sending NOTIFY packets along with conference details. When I'm sending SUBSCRIBE from SIP.js, server is accepting it and sending NOTIFY as well but somehow I'm unable to capture it onNotify delegate method of Subscriber.
Via: SIP/2.0/WSS ugpp1spgs9lp.invalid;branch=z9hG4bK7343839
CSeq: 1 SUBSCRIBE
Call-ID: v5b9d54t6q9jktfl9fba
Max-Forwards: 70
Allow: ACK,BYE,CANCEL,INFO,INVITE,MESSAGE,NOTIFY,OPTIONS,PRACK,REFER,REGISTER,SUBSCRIBE
Event: conference
Expires: 3600
Contact: <sip:cc6m...@ugpp1spgs9lp.invalid;transport=ws>
Supported: outbound, 100rel, replaces
User-Agent: SIP.js
Content-Length: 0
NOTIFY sip:cc6m...@113.193.207.243:43558;transport=ws SIP/2.0
Via: SIP/2.0/WSS X.X.X.X:10443;branch=z9hG4bKbf43.e3d1fcd6.0
Max-Forwards: 69
Call-ID: v5b9d54t6q9jktfl9fba
CSeq: 35479674 NOTIFY
Contact: <sip:X.X.X.X:10443;transport=wss;thinfo=VG9PbzAdIFs+PDAwIwAlHTEhYmRmQWNebUR+UGBjblpgV3ZhUBQ3I25eZ11tR2FPZ2N6W2RVdURmUQ-->
User-Agent: RingRX
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, outbound, path, replaces
Event: conference
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Subscription-State: active
Content-Type: application/conference-info+xml
Content-Length: 2152
<?xml version="1.0"?>
<conference-description>
<display-text>FreeSWITCH Conference</display-text>
<conf-uris>
<entry>
</entry>
</conf-uris>
</conference-description>
<conference-state>
<user-count>3</user-count>
<active>true</active>
</conference-state>
<users>
<display-text>Outbound Call</display-text>
<display-text>Outbound Call</display-text>
<status>connected</status>
<joining-info>
<when>2021-05-03T18:35:27+00:00</when>
</joining-info>
<media id="11a">
<type>audio</type>
<src-id>815064998</src-id>
<status>sendrecv</status>
</media>
</endpoint>
</user>
<display-text>Outbound Call</display-text>
<display-text>Outbound Call</display-text>
<status>connected</status>
<joining-info>
<when>2021-05-03T18:35:27+00:00</when>
</joining-info>
<media id="10a">
<type>audio</type>
<src-id>1553342490</src-id>
<status>sendrecv</status>
</media>
</endpoint>
</user>
<display-text>gkatriy</display-text>
<display-text>gkatriy</display-text>
<status>connected</status>
<joining-info>
<when>2021-05-03T18:35:27+00:00</when>
</joining-info>
<media id="9a">
<type>audio</type>
<src-id>614663605</src-id>
<status>sendrecv</status>
</media>
</endpoint>
</user>
</users>
</conference-info>
SIP.js is sending SIP/2.0 481 Call/Transaction Does Not Exist in response of NOTIFY received.
[Tue May 04 2021 24:06:04.834] WARN Tue May 04 2021 00:06:04 GMT+0530 (IST) | sip.user-agent-client | Timer N expired for SUBSCRIBE user agent client. Timed out waiting for NOTIFY.
[Tue May 04 2021 24:06:04.851] LOG Tue May 04 2021 00:06:04 GMT+0530 (IST) | sip.Subscription | Subscription undefined transitioned to Terminated
[Tue May 04 2021 24:06:04.853] LOG StateChange Event Listener for Terminated
[Tue May 04 2021 24:06:04.857] LOG Tue May 04 2021 00:06:04 GMT+0530 (IST) | sip.Subscriber | Subscription v5b9d54t6q9jktfl9fba9fdp5tud4qconference in state Terminated is being disposed
Currently, I'm using SIP.js 0.17.x. Will it make any difference to upgrade to latest version? Is there any specific changes for this?
Can anyone help me with this?