tiago.roque Posted March 11, 2022 Report Posted March 11, 2022 Hello everyone, I was testing a scenario where my caller number has more than one device. One of this endpoint is of type push and when calling to caller number I was expecting that all devices could ring at same time. But, I realize that the push device always start ringing after ~5 seconds. From code, I can see in the file kz_endpoint that create_push_endpoint is setting the attribute Endpoint-Delay with the value 5 {<<"Endpoint-Delay">>, 5} All the other endpoints are created with {<<"Endpoint-Delay">>, get_delay(Properties)}. Anyone knows or has an idea why the hard code value of 5 is applied to push endpoints? Thanks in advance
Administrators mc_ Posted March 11, 2022 Administrators Report Posted March 11, 2022 When you have push configs on a device, KAZOO will create two endpoint configs for FreeSWITCH/Kamailio - the "real" device and the "push" device. KAZOO gives the "real" device 5s to answer the call before initiating the push notification to allow for network shenanigans.
tiago.roque Posted March 14, 2022 Author Report Posted March 14, 2022 Thanks mc_ for the answer 😉 So, this is the way KAZOO try to avoid the push notification exchange when the call can be answered by other device (without push configs)? Like, it gives priority to real devices and if the call cannot be established then after 5 sec it's time to try the "push" device?
Administrators mc_ Posted March 14, 2022 Administrators Report Posted March 14, 2022 When the endpoint with "push" settings is being built, the code doesn't know yet if the SIP device itself is registered or reachable yet. So the "push" options are delayed 5s to allow the SIP device a chance to be contacted. If there's no registration or the network doesn't work to deliver the call to the SIP device, the "push" device is called (meaning push notification sent and Kamailio is ready and waiting for the SIP device to register its new location on the network.
Recommended Posts