Project

General

Profile

SipSettingsApi » History » Revision 44

Revision 43 (Adrian Georgescu, 10/04/2009 07:09 PM) → Revision 44/68 (Adrian Georgescu, 07/13/2011 09:04 AM)

= 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 '''Identity''' 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 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: 
 {{{ 
 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 
 {{{ 
 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> 

 }}}