Least cost routing
(→Objective 1: pre-dialing) |
(→Objective 1: pre-dialing) |
||
Line 31: | Line 31: | ||
#:GSM Call Requested | #:GSM Call Requested | ||
/opt/usr/bin/lcr * * com.nokia.csd.Call CreateRequested * | /opt/usr/bin/lcr * * com.nokia.csd.Call CreateRequested * | ||
+ | |||
+ | now, let's test that we can forcibly end the call before it happens: | ||
+ | |||
+ | #!/bin/sh | ||
+ | echo "Least Cost Routing script: detected outgoing call to $5"; | ||
+ | echo "Ending call to $5" | ||
+ | dbus-send --system --print-reply --dest=com.nokia.csd.Call /com/nokia/csd/call com.nokia.csd.Call.Release |
Revision as of 20:37, 14 September 2010
This page is a work in progress; it documents my efforts to hack up some sort of script-based Least Cost Routing arrangement on my N900.
Objective 1: pre-dialing
The first step is to get this working for regular PSTN access numbers over the GSM channel, so that I can use inclusive minutes rather than get charged through the nose for calling 0845, 0870 and suchlike.
In order to do that, I need to:
- intercept an outgoing GSM call, check dial string and see if we need to intervene
- if so, end the call, rewrite the number to suit, and autoredial before I the end user know or care about it
Looking at D-BUS, when we place a call via GSM we get:
================================= Arg 1: :1.20 Arg 2: null Arg 3: com.nokia.csd.Call Arg 4: CreateRequested Arg 5: +442081802828 ================================= Arg 1: :1.20 Arg 2: null Arg 3: com.nokia.csd.Call Arg 4: Created Arg 5: +442081802828 =================================
so, we can hook a script onto that using the following in dbus-scripts-settings
#:GSM Call Requested /opt/usr/bin/lcr * * com.nokia.csd.Call CreateRequested *
now, let's test that we can forcibly end the call before it happens:
#!/bin/sh echo "Least Cost Routing script: detected outgoing call to $5"; echo "Ending call to $5" dbus-send --system --print-reply --dest=com.nokia.csd.Call /com/nokia/csd/call com.nokia.csd.Call.Release