September 2016
Purpose In addition to be highy recommended on most OS, Push notifications are now mandatory on ios 10 and Windows Phone. Based on ios/android/microsoft push systems, FexiSIP Push Gateway has been deveoped by BC to deiver SIP incoming cas or text messages on mobie device patforms where receiving information whie phone is off is unreiabe or not supported.
Push notifications in VoIP Why? Phone makers are worried about battery consumption due to apps running in background: a patforms at east suspend execution of appications whie phone is off to save battery. In the best case, apps are resumed when data is received on their existing connection. 3G operators are requested to prioritize the traffic to push servers (otherwise they run into big probems with appe or googe...) The push system is presented as the efficient, highy reiabe, bug-free system to receive information whie the phone is off. What is a push system? No magic: the phone just keeps a TCP encrypted socket connected a the time to a push server at googe/appe/micros oft, in order to receive information from this server. The notification can incude text to be dispayed to us ers as we as any kind of appspecific information. The push service provider provides aso a web service for third parties to request the push server to send sma notifications to a device identified uniquey.
OS requirements Push notification mandatory : Appications compied with Xcode >= 8 (ie ios 10) have their TCP connections sienty cosed when the app goes to background mode. The PushKit framework aows to receive invisibe push notifications that just wake up the appication in the purpose of connecting to the SIP server to receive the pending ca or message.* On Windows Phone, when an app is put in background or when the screen is off, the app is kied. The push notification aows the user to restart the app and process the ca. Push notification highy recommended : A VoIP app can work without Push Notifications on a Android versions and on ios versions up to ios 9 (sockets can receive information whie the phone is off or app is in background, hence resuming the app). However, the push notification is a faback soution in networks where ong iving connections are unreiabe (ex: ceuar network that discards inactive TCP connections). *Ref: https://forums.deveoper.appe.com/thread/49363
FexiSIP proxy server Fexisip is the name of a genera purpose SIP proxy server dev eoped by BC, which incudes specific features for mobie phones, ike a push gateway. Main features : SIP over UDP, TCP, TLS NAT heper, media reay STUN server Digest authentication based on externa SQL password database or static fie. Registrar Audio transcoding High eve event ogging for activity monitoring. High avaiabiity and custer mode operation for arge depoyments. Interconnected with push notifications systems for reiaby notifying mobie apps of incoming cas or messages. Fexisip is hosting the free sip.inphone.org service (303 945 users, september 2016) with push notifications enabed. Easy to insta, configure and maintain, this SIP server offers a the features necessary to depoy a SIP service optimized for mobie appications.
FexiSIP Push Gateway How does it works? You can keep your existing SIP servers and add some fexisip servers as frontends, between cients and existing SIP servers Fexisip proxies sendregister, INVITEs and MESSAGEs and take care of sending push notifications to cients to notify them about cas or text messages In most case, no configuration changes are needed on the existing SIP servers ü ü ü Fuy interoperabe with Linphone-based appications Guaranteed deivery, through message storage and retry mechanisms Easy to interconnect with your existing SIP architechture
FexiSIP Push Gateway in the network 200 Ok Push Servers (googe, appe, microsoft) Fexisip Push Gateway REGISTER forwarded to SIP backend, which chaenges and answers. IMS or Legacy PSTN gw SIP/TLS connection Push connection (aways up) 200 Ok REGISTER... Contact : <sips:15.128.128.93:5070;pn-tok=ab1232ka59iqhh>... Cient sends push notification token in SIP contact for gateway to know it. Phone Sip:aice@exampe.com
Scenario 1 : incoming ca is deivered directy INVITE sip:aice@... Push Servers (googe, appe, microsoft) Fexisip Push Gateway IMS or Legacy PSTN gw SIP/TLS connection Push connection (aways up) INVITE sip :... 180 Ringing 200 Ok 1. IMS sends INVITE 2. Fexisip routes to cient 3. phone rings and answers 4. ca is estabished Phone Sip:aice@exampe.com
Scenario 2 : ca deivery via push (1/2) Pushrequest INVITE sip:aice@... Push Servers (googe, appe, microsoft) Fexisip Push Gateway IMS or Legacy PSTN gw Push notification : «Bob is caing you» SIP/TLS connection (broken or unresponsive) INVITE sip :... 1. IMS sends INVITE 2. Fexisip routes to cient 3. No response received after X seconds (X configurabe) 4. Fexisip sends push request to push provider 5. Device receives push notification Phone Sip:aice@exampe.com
Scenario 2 : ca deivery via push (2/2) INVITE sip:aice@... Push Servers (googe, appe, microsoft) Fexisip Push Gateway 200 Ok IMS or Legacy PSTN gw New SIP / TLS connection created by REGISTER 200Ok (register) INVITE sip :... REGISTER Phone Sip:aice@exampe.com 1. User accepts the push, the app is resumed OR the app is resumed directy without user interaction 2. App sends new REGISTER 3. Fexisip resubmits INVITE through newy created connection. 4. App receives INVITE and answers (200Ok) 5. Ca is estabished
saes@beedonne-communications.com Te +33 (0)9 52 63 65 05