at this point, even I respond to the call from CallKit, we don't hear each other
If the call itself is successfully established, this seems like SIP codecs negotiation issue. SDP may be cut during negotiation when using SIP UDP signaling because it does not fit to one standard network packet (1400 bytes).
Please set SIP signaging to use TCP if your PBX supports this
If not, you should exclude exessive codecs
Code:
allow_outside_codecs=false
codecs_exclude_sip=mpeg4-generic,flv,mpv,h264,vp8,g729,speex16,opus
In this case, only PCMA, PCMU, G722 audio codecs will be used.
If this does not help, collect a report on server side as described
here, then send it using
this form.
Also, the examples you provide are handled as the application is opened. How should I handle when the app is closed, user A is calling user B, user B responds without unlocking the phone, and after a while the user can open the app and continue in video streaming...
In Web SDK Phone example, it was possible to re-connect to existion SIP session using a special auth token:
1. Open a page, establish a WCS session, register on SIP server, remember an authToken (
code)
2. Close the page. SIP session should exist during 1 hour by default
3. Open a page, connect with token (
code)
4. Receive an incoming call (
code).
But this seems to be broken now. We will fix it in ticket WCS-3361. Note that this functions is not supported in mobile SDKs yet, so we will create a corresponding tickets to implement this after WCS-3361 resolution.