Tech

Presence in, Presence out

Published on:

November 19, 2012

In PBX terms, presence typically indicates if someone is on the phone or unavailable. With snom ONE version 5.0.2, we’ve enhanced presence functionality by making it so the PBX shows when a user is on the phone, even if the user is on an external device like a mobile phone. This is achieved via an HTTP request to the PBX from the mobile service provider, which updates presence status without the necessity of complex SIP configurations. The system can track call duration and reset the status after a call ends. Additionally, the PBX can relay presence updates to connected platforms like Microsoft Lync.

In PBX terms, presence is a glorified term for “someone is on the phone” and, possibly, “someone doesn't want to be disturbed”. We already talked about how snom ONE publishes the presence state changes to Microsoft Lync when that person is on the phone.

With the 5.0.2 version, we started adding in the other direction: When someone talks on the phone without using the PBX, the PBX can still show the other users in the office users this person is on the phone. For example, when someone is on his or her mobile phone, either the phone or the phone provider can send that status information to the PBX. I have learned that in Scandinavian countries some mobile phone providers support this kind of update of presence information.

Instead of going a complicated SIP route, we just added that feature into the HTTP part of the PBX. All the service provider needs to do is to open an HTTP request to a predefined URI that looks like this:

https://pbx/call_state.htm?domain=abc.com&user=123&password=secret&number=12345678

The PBX will assume the user is busy talking to 12345678. When the call is over, the service provider is supposed to make another request:

https://pbx/call_state.htm?domain=abc.com&user=123&password=secret

The absence of the number parameter tells the PBX there is no phone call going on. Right now, the PBX doesn't populate the number to anybody else, nor does it poplulate the internal numbers. The URI may contain a parameter, “expires”, that tells the PBX for how long the extension is in a call, unless it explicitly clears the state with the empty number. The default value for this parameter is the maximum call duration on the system, which is usually two hours. This makes sure the status of the extensions gets cleared eventually, even if the service provider misses the clear update.

This works from the cell phone service provider, but it would also work directly from a cell phone. For example, if someone has an Android app that's watching the call state of the phone, it could easily update the PBX call state with this little application.

The other interesting note is the PBX can also combine incoming presence updates with outgoing presence updates. For example, if the cell phone provider sends the information to the PBX, the PBX could then relay the information to the connected Microsoft Lync account.

This is the beginning of the journey. We have to see what other services support presence information. For example, I can think about IBM sametime or the Google plus and Facebook networks. Hopefully they just use some simple HTTP-based API. This would make it a lot easier for us to get this done in one of the next releases.

If someone out there has a wish as to what presence network we should address next, let us know. Feedback is always welcome.

Latest Articles

View All

Why Browser Calling is the Future of Business Communication

Vodia’s browser calling solution allows businesses to make and receive VoIP calls directly from any web browser, eliminating the need for apps or desk phones. It offers convenience, cost savings, and a wide range of features including chat, voicemail, call transfers, conference calls, video calls, and CRM integration. The system is secure, operating entirely within the browser to reduce exposure to malware, and scalable to support remote and hybrid work environments. With easy setup through the Vodia PBX web interface, organizations can streamline communication, improve productivity, and provide employees with a flexible, reliable, and fully integrated business communication experience.

August 13, 2025

Building Intelligent Voice Response Systems with Vodia's JavaScript IVR

JavaScript IVR transforms the way businesses handle incoming calls by enabling fully customizable, intelligent phone menu systems. Unlike static IVR setups with limited, pre-defined options, JavaScript IVR allows you to create dynamic call flows that adapt in real time based on caller input, business data, or even external API integrations. This means you can route calls more efficiently, automate complex processes, and offer highly personalized experiences to your customers. Whether you want to check customer records before transferring a call, adjust menu options based on time of day, or integrate with CRM systems for instant data access, JavaScript IVR gives you the flexibility and control to make it happen - all while improving efficiency and enhancing caller satisfaction.

August 11, 2025

Get The Support You Need Easily Through The Vodia Help Center On Jira

Vodia support is now easier to access through the Vodia Help Center on Jira, giving partners and customers a centralized platform to submit technical support tickets, ask sales or licensing questions, and suggest new features. With a valid license key, users can open detailed requests and track their status in one place. The portal also brings together Vodia documentation, the PBX API, and the Vodia forum, making it the go-to resource for everything Vodia. Whether you're troubleshooting, planning an upgrade, or just need guidance, the Help Center is designed to streamline your experience and connect you with the right support faster.

August 7, 2025