Missed call communication protocol

Graham Auld openmoko at graham.auld.me.uk
Wed Feb 7 12:30:01 CET 2007

I like it, sounds good, I'm all for free-as-in-beer ways to talk to my
free-as-in-speech phone :)


-----Original Message-----
From: community-bounces at lists.openmoko.org
[mailto:community-bounces at lists.openmoko.org] On Behalf Of Richard Bennett
Sent: 07 February 2007 11:17
To: community at lists.openmoko.org
Subject: Missed call communication protocol

Hi all,

In keeping with moving the control advantage away from the network
operators, and to the users, I wonder what you think of this suggestion:

When you use a SIP server, like Openser.org , you can set the CLI (Calling
line identifier) to any value you like when you send the call on to a PSTN
That means the 'from' number you see on your mobile screen when I call you
from a SIP proxy can be any numeric value I like. (most PSTN termination
gateways will require a valid e164 number
So I can send a call to my openmoko number, using a CLI set to +10 followed
13 arbitrary numbers, which should satisfy the e164 requirement .
No real phone numbers start with +10 , so I could program my openmoko to
reject any calls arriving with a CLI starting with +10, and to process the
next 13 numbers of the CLI as a message, hiding this call from the missed
calls list.
As far as I know there is no networks charge for a rejected call from a
mobile, and initiating a call from the openmoko to a number that always
returns a 'busy' would also be free of charge.
This gives us a free up/down communication channel that can take a payload
13 numbers in each packet. 

This could be used for:
* Push email notification.
* Presence. Like the 'online' indicator in a chat app that shows your
This is the next big area carriers are looking to charge us for, with their
new IM platforms. It can also be used in the routing logic of your own SIP
proxy/PBX, for instance: "Forward calls to mobile unless GSM presence is
'meeting' in that case send calling number by SMS, if SMS presence is
'available', and forward calls to secretary".
* Ultra Short Message Service (SMSes that use a phrase-book on both sender
and receiver, so you send the number that identifies a pre-formatted message
i.e.: 112='Please call home when you're free').
* Trigger predefined macros (shell scripts) on the phone, like "Send GPS
coords by SMS".
* Sync applications, like 'mark meeting14 as postponed', or "New updates
available, do you want to sync now?"

Unless our list lawyers shoot this idea down from the start, we could start
thinking about the best way to define a missed-call protocol.
I'm thinking of using 4 of the numbers as a identifying pincode, then a 3
digit action identifier, and use the next 6 digits as payload depending on
what action was selected .
For instance update our presence info from the Openmoko to a server:
 Call server: +122334455
 send CLI +101234999100100
That is:
+1	=	Required valid international code
0	=	protocol identifier that never occurs in real calls.
1234=	pincode to identify the caller, and assign access rights. (Many 
different servers could send MCP (missed call protocol) messages to the same
phone, a bit like the bluetooth pincode/identifier)
999	=	matches 'update presence information'
1	=	GSM available.
0	=	GPRS offline
0	=	Bluetooth offline
1	=	SMS available
0	=	reserved
0	=	reserved.

What do you think?


OpenMoko community mailing list
community at lists.openmoko.org

More information about the community mailing list