SipSettingsApi

Version 41 (Adrian Georgescu, 10/04/2009 03:25 pm) → Version 42/68 (Adrian Georgescu, 10/04/2009 03:34 pm)

= Settings API =

[[TOC(WikiStart, Sip*, depth=3)]]

This API can be used from third party applications that wish to interact with the SIP account settings. Data can be read or modified by calling various functions.

== API Address ==

To access the API, a client must connect using HTTP protocol to the following address:

https://enrollment.sipthor.net/settings.phtml

To be authorized, the client must use a TLS client certificate, this certificate can be retrieved in the Info tab of the web page for the SIP account settings.

The return is encoded using [http://json.org json].

== TLS Certificate ==

Use the web settings page and navigate to the Info tab. Download the TLS certificate in the format supported by your HTTP client.

* !user@domain.crt format can be use by command line tools like curl
* !user@domain.p12 format can be imported in web browsers

The .p12 file contains the same certificate stored in a way that can be loaded by web browsers like Safari on MacOSX or Firefox. To unlock the .p12 file you must use the password for your SIP account.

== API Functions ==

You can test the following API commands by using the '''curl''' command line utility as follows:

{{{
curl -k -E user@domain.crt https://enrollment.sipthor.net/settings.phtml?action=get_identity
}}}

The following actions are supported:

1. Return identity information:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_identity
}}}
1. Return the SIP aliases:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_aliases
}}}
1. Return the ENUM numbers:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_enum
}}}
1. Return the list of last incoming and outgoing calls:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_calls
}}}
1. Return the list of registered devices
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_devices
}}}
1. Return the prepaid balance and active calls:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_prepaid
}}}
1. Return the history of prepaid balance:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_balance_history
}}}
1. Return the curent monthly usage:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_monthly_usage
}}}
1. Return the call forwarding settings: list of diversions:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_call_forwarding
}}}
1. Return the list of accept rules:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_accept_rules
}}}
1. Return the list of reject rules:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_reject_rules
}}}
1. Return the voicemail settings:
{{{
https://enrollment.sipthor.net/settings.phtml?action=get_voicemail
}}}
1. Enabled Do Not Disturb
{{{
https://enrollment.sipthor.net/settings.phtml?action=set_dnd_on
}}}
1. Disable Do Not Disturb
{{{
https://enrollment.sipthor.net/settings.phtml?action=set_dnd_off
}}}
1. Enable Do Not Disturb for 60 minutes
{{{
https://enrollment.sipthor.net/settings.phtml?action=set_dnd_on&duration=60
}}}
1. Enabled privacy (hide Caller Id for outgoing calls)
{{{
https://enrollment.sipthor.net/settings.phtml?action=set_privacy_on
}}}
1. Disable privacy
{{{
https://enrollment.sipthor.net/settings.phtml?action=set_privacy_off
}}}
1. Add an alias to our own account
{{{
https://enrollment.sipthor.net/settings.phtml?action=add_alias&username=alice
}}}
1. Set call forwarding diversions
{{{
https://enrollment.sipthor.net/settings.phtml?action=set_call_forwarding&FUNC=target&FBUS=target&...
}}}
{{{
FUNC = Forward unconditional all calls
FBUS = Forward on Busy
FNOL = Forward on Not Online
FNOA = Forward on No Answer
FUNV = Forward when Not Available based on Accept rules

Pre-defined keywords for diversion targets:

<voice-mailbox>
<mobile-number>

}}}