Hi,
Im am using StreamSockets in our VoIP application.
I have problem that application do not detect when wifi signal is very weak and do not switch automaticaly to 4G network.
We found this NSStreamNetworkServiceTypeCallSignaling socket service type which looks like helps to us but it is not well documented.
Please can you describe, this new
NSStreamNetworkServiceTypeCallSignaling enum?What will be the influence of the socket behavior, when this enum will be set on socket.
This flag is available since iOS10 but there is no info in apple documetation about this enum.
https://developer.apple.com/documentation/foundation/nsstreamnetworkservicetypecallsignaling
Thanks
NSStreamNetworkServiceTypeCallSignaling is intended to be use for a VoIP app’s
signalling channel (aka command channel), that is, the channel that carries metadata about about a call rather than the channel that carries the actual voice data. For the actual voice data, you should
NSStreamNetworkServiceTypeVoice.
Actually, most voice data goes over UDP and thus you’d use
NET_SERVICE_TYPE_VO. And that itself is interesting, because if you look at the
SO_NET_SERVICE_TYPE values in
<sys/socket.h> you’ll see they have a network-level description of the semantics of each value. For example:
(equivalent toNET_SERVICE_TYPE_SIG
) says:NSStreamNetworkServiceTypeCallSignaling"Signaling", low delay tolerant, low loss tolerant, inelastic flow, jitter tolerant, rate is bursty but short, variable size. E.g. SIP..
(equivalent toNET_SERVICE_TYPE_VO
) says:NSStreamNetworkServiceTypeVoice"Interactive Voice", very low delay tolerant, very low loss tolerant, inelastic flow, constant packet rate, somewhat fixed size. E.g. VoIP..
With regards your specific problem:
Is it showing up while on a call? Or while waiting for ring indication?
If it’s the latter, are you using PushKit? Or the legacy VoIP architecture?
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"