Thanks Michael!There are some internal reasons why it's not trivial for us to switch to sip.js but as I said we'll be looking into that as well.On a side note, JsSip did come back - they are actively releasing new versions.Also, I have a question about best practices. If a client originates a call to FS, do you think it's better to have the client be the session refresher or FS? Any reason one way or another?On Thu, May 21, 2015 at 7:50 AM, Michael Jerris <mike@jerris.com> wrote:I think its incredibly easy to switch to sip.js as its pretty close API to jssip, and looking at the invite you posted, it does have a full sdp. jssip has been mostly abandoned for many months (maybe they came back, but it has serious bitrot either way), its not worth the time to mess with something we know is broken when there is an easy alternative we know works.On May 21, 2015, at 10:44 AM, Oleg Stolyar <olegstolyar@gmail.com> wrote:The suggestion about switching to SIP.JS? We are considering this but it will take a us a while to get it done and ready for production. In the meantime I was able to enable debugging on JsSip and it seems that we get this error when receiving re-INVITE from FS:rtcninja:ERROR:RTCPeerConnection setLocalDescription() | error: +0ms Failed to set local answer sdp: Session error code: ERROR_CONTENT. Session error description: Failed to set audio receive codecs..It seems that FS is not including codecs info in re-INVITES. JsSip developers are saying that all invites including re-invites should include all the info. What do you think?_________________________________________________________________________On Wed, May 20, 2015 at 8:19 PM, Michael Jerris <mike@jerris.com> wrote:See my previous suggestion earlier in this thread
On Wednesday, May 20, 2015, Oleg Stolyar <olegstolyar@gmail.com> wrote:I looked at my logs more carefully and noticed that FS sends such re-INVITES for many of my calls but not all. It is always sent about one minute after the call is established, so it's probably not based on session timer, right?In most cases when it's sent JsSip answers with a 100 Trying. In this case the call stays on. In some rare cases JsSip does not respond and FS disconnects the call with NORMAL_TEMPORARY_FAILURE we see in the log above.I will investigate why JsSip sometimes does not respond but I would still like to figure out why FS is sending those re-INVITES to begin with?I thought it could be happening if JsSip does not respond to OK with an ACK but that's not the case. The ACK is there for these calls.There is a variable nonce-ttl in the sip profile that defaults to 60 seconds. Perhaps it has something to do with that? This profile does not require authentication or registration at all, though.On Wed, May 20, 2015 at 7:40 AM, Oleg Stolyar <olegstolyar@gmail.com> wrote:But isn't that based on the session-timeout param which defaults to 30 min? My re-invites occur much sooner than 30 min into a call. Or does session-timeout param only control sessions initiated by FS while incoming sessions use the minimum-session-expires param if it's not explicitly passed by the session initiator?On Tue, May 19, 2015 at 11:40 PM, Michael Jerris <mike@jerris.com> wrote:session timer
On Tuesday, May 19, 2015, Oleg Stolyar <olegstolyar@gmail.com> wrote:Thanks Michael, I'll see if we can do that!So, is the re-INVITE legit and the problem is that JsSip does not respond to it? Still, I am curious what is triggering the re-INVITE.On Tue, May 19, 2015 at 8:05 PM, Michael Jerris <mike@jerris.com> wrote:I think the sip.js guys fixed this issue when they forked jssip. I'd suggest using that.
_________________________________________________________________________
> On May 19, 2015, at 10:01 PM, Oleg Stolyar <olegstolyar@gmail.com> wrote:
>
> Hi guys,
>
> Several weeks ago I started getting an occasional problem where FS is sending an INVITE to the other side in the middle of a call, the other side does not respond and FS hangs up the leg. Below is the relevant log. The user experience is that they keep talking and hearing each other up to the very end. I have a recording of that call, so can confirm.
>
> The call uses WebRTC and is originated by JsSip from Chrome. Then the user is put into a conference but I doubt it's relevant in this case since the INVITE and disconnect are not happening from mod_conference
>
> I suspect it's a re-INVITE but what triggers FS to send it? I couldn't find anything in the logs that could shed light.
>
> send 1625 bytes to wss/[##.##.##.##]:50292 at 00:00:19.702933:
> ------------------------------------------------------------------------
> INVITE sip:dj012n41@u40rf5qikah5.invalid;transport=ws;ob SIP/2.0
> Via: SIP/2.0/WSS 10.97.158.232:5067;branch=z9hG4bK7Xm4tjevU45Sr
> Max-Forwards: 70
> From: <sip:answer-c4e14a20-fe82-11e4-95ed-22000b358f22@anonymous.invalid>;tag=KQecUSr12rSQp
> To: "user1" <sip:anonymous@anonymous.invalid>;tag=v1rlqab64i
> Call-ID: g8980rbrbk2t45oj5mru
> CSeq: 75703945 INVITE
> Contact: <sip:answer-c4e14a20-fe82-11e4-95ed-22000b358f22@##.##.###.###:5080;transport=udp>
> User-Agent: FreeSWITCH-mod_sofia/1.5.15b~64bit
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
> Supported: timer, path, replaces
> Session-Expires: 120;refresher=uac
> Min-SE: 120
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 825
>
> v=0
> o=FreeSWITCH 1432057287 1432057288 IN IP4 ##.##.##.##
> s=FreeSWITCH
> c=IN IP4 ##.##.##.##
> t=0 0
> a=msid-semantic: WMS uZEfxiWc2Dm3Mj8pRAdC8BQDwtTzC6hW
> m=audio 22670 RTP/SAVPF 9 126 106
> a=rtpmap:9 G722/8000
> a=rtpmap:126 telephone-event/8000
> a=rtpmap:106 CN/8000
> a=ptime:20
> a=fingerprint:sha-256 E4:E2:DD:6C:60:61:69:9D:FD:21:64:79:66:C0:14:58:DD:67:CE:29:35:35:58:65:2E:91:70:85:4C:6C:47:69
> a=rtcp-mux
> a=rtcp:22670 IN IP4 ##.##.##.##
> a=ssrc:1029894069 cname:VL2jTPmLiyFVIEaq
> a=ssrc:1029894069 msid:uZEfxiWc2Dm3Mj8pRAdC8BQDwtTzC6hW a0
> a=ssrc:1029894069 mslabel:uZEfxiWc2Dm3Mj8pRAdC8BQDwtTzC6hW
> a=ssrc:1029894069 label:uZEfxiWc2Dm3Mj8pRAdC8BQDwtTzC6hWa0
> a=ice-ufrag:5dS3Fzx1Thrmdy9Z
> a=ice-pwd:a19UHlvPK1BjvBzrFilbII2s
> a=candidate:3876535948 1 udp 659136 107.20.175.160 22670 typ host generation 0
> ------------------------------------------------------------------------
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:19.376858 [DEBUG] switch_core_session.c:1061 Send signal sofia/leia_agent/anonymous@anonymous.invalid [BREAK]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:19.376858 [DEBUG] sofia.c:6627 Channel sofia/leia_agent/anonymous@anonymous.invalid entering state [calling][0]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.616874 [DEBUG] switch_core_session.c:1061 Send signal sofia/leia_agent/anonymous@anonymous.invalid [BREAK]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.616874 [DEBUG] switch_core_session.c:1061 Send signal sofia/leia_agent/anonymous@anonymous.invalid [BREAK]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.616874 [DEBUG] sofia.c:6627 Channel sofia/leia_agent/anonymous@anonymous.invalid entering state [terminating][503]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.616874 [NOTICE] sofia.c:7543 Hangup sofia/leia_agent/anonymous@anonymous.invalid [CS_EXECUTE] [NORMAL_TEMPORARY_FAILURE]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.616874 [DEBUG] switch_channel.c:3242 Send signal sofia/leia_agent/anonymous@anonymous.invalid [KILL]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.616874 [DEBUG] switch_core_session.c:1396 Send signal sofia/leia_agent/anonymous@anonymous.invalid [BREAK]
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] mod_conference.c:5057 Channel leaving conference, cause: NORMAL_TEMPORARY_FAILURE
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] mod_conference.c:9650 sofia/leia_agent/anonymous@anonymous.invalid skip receive message [UNBRIDGE] (channel is hungup already)
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_media.c:7772 sofia/leia_agent/anonymous@anonymous.invalid skip receive message [REFER_EVENT] (channel is hungup already)
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_codec.c:246 sofia/leia_agent/anonymous@anonymous.invalid Restore previous codec G722:9.
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_session.c:2901 sofia/leia_agent/anonymous@anonymous.invalid skip receive message [APPLICATION_EXEC_COMPLETE] (channel is hungup already)
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_state_machine.c:535 (sofia/leia_agent/anonymous@anonymous.invalid) State EXECUTE going to sleep
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_state_machine.c:472 (sofia/leia_agent/anonymous@anonymous.invalid) Running State Change CS_HANGUP
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_state_machine.c:735 (sofia/leia_agent/anonymous@anonymous.invalid) Callstate Change ACTIVE -> HANGUP
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_state_machine.c:737 (sofia/leia_agent/anonymous@anonymous.invalid) State HANGUP
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] mod_sofia.c:413 Channel sofia/leia_agent/anonymous@anonymous.invalid hanging up, cause: NORMAL_TEMPORARY_FAILURE
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_state_machine.c:60 sofia/leia_agent/anonymous@anonymous.invalid Standard HANGUP, cause: NORMAL_TEMPORARY_FAILURE
> fc1927a8-2257-400f-b4cb-67aff7297170 2015-05-20 00:00:22.636900 [DEBUG] switch_core_state_machine.c:737 (sofia/leia_agent/anonymous@anonymous.invalid) State HANGUP going to sleep
>
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org