Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

REST URL pattern

sipXivr listens for http requests by default on port 8085.

Requests are authenticated using DIGEST authentication and SSL protected

 curl --digest -k --request GET|PUT|DELETE https://{user}:{password}@localhost:8085/mailbox/{mailbox}/{request}

To test the service with curl use:General URL structure: https://{user}:{password}@localhost:8085/mailbox/{mailbox}
Common prefix: {mailbox} is the mailbox to work with.  The mailbox of a user is the user's main <username> as found in validusers.xml

MWI Services

Provides the ability to query the status of, and update the Message Waiting Indicators associated with a mailbox
   /mwi  PUT (no body) Updates the MWI for this mailbox (i.e. tells the status server
              to update the MWI status of devices that subscribed to MWI for this
              mailbox.
         GET Returns the MWI status for this mailbox.  
             Returns the status in [http://www.ietf.org/rfc/rfc3842.txt RFC-3842] format with
             Content-Type set to application/simple-message-summary

Example

To get the MWI status for User 200, do this:
   curl --digest -k --request GET https://200:123@localhost:8085/mailbox/200/mwi
The response looks like:
   Messages-Waiting: no
   Voice-Message: 0/3 (0/0)

Messages Services

Provides the ability to query the status of, and mark a message as heard/unheard.

   /messages GET returns all messages in mailbox

   /message/{messageid} where {messageid} is the unique message ID for the message, an 8 digit number.

                                        /heard PUT (no body) Marks the message heard (and updates MWI)
                                                  GET returns message heard status.  
                                                  The body returned is the XML fragment
                                                  <heard>true|false</heard>
                                                  DELETE Marks the message unheard (and updates MWI)

                                       /delete

                                                  PUT (no body) Moves the message to Trash folder

Example

To mark User 200's message 00000080 as heard, do this:

   curl  --digest -k --request PUT https://200:123@localhost:8085/mailbox/200/message/00000080/heard

To delete a message

   curl --digest -k --request PUT https://200:123@localhost:8085/mailbox/200/message/00000018/delete

Get all messages
   curl --digest -k --request GET https://200:123@localhost:8085/mailbox/200/messages
   returns
   <message id=00000018 heard=true urgent=false folder=deleted duration=0 received=1171062204000/>

Preferences Services (not implemented yet)

Provides the ability to query and set the value of the User's Active Voicemail Greeting type.

   /preferences/
   /activegreeting PUT sets the active greeting

                                 body is the XML fragment  <activegreeting>{value}\</activegreeting>

                                 where {value} is one of none, standard, out of office, extended absence

                          GET returns the active greeting (returns above fragment)
                          DELETE sets the active greeting to "none"

Example

To query User 200's active greeting preference, do this:
   curl  --digest -k --request GET https://200:123@localhost:8085/mailbox/200/preferences/activegreeting
The response looks like:
   standard

Conference Services

Provides the ability to send conference commands to freeswitch

usage: curl --digest -k -X PUT https://200:123@<host_name>:8085/conference/item1/item2/item3
means the command: conference item1 item2 item3

Example

curl --digest -k -X PUT https://200:123@localhost:8085/conference/mirceaConf/lock
means: conference mirceaConf lock
returns:
<command-response>OK mirceaConf locked
</command-response>

Basically, freeswitch exposes the following set of commands:

<confname> list [delim <string>]
<confname> xml_list
<confname> energy <member_id|all|last> [<newval>]
<confname> volume_in <member_id|all|last> [<newval>]
<confname> volume_out <member_id|all|last> [<newval>]
<confname> play <file_path> [async|<member_id>]
<confname> say <text>
<confname> saymember <member_id> <text>
<confname> stop <[current|all|async|last]> [<member_id>]
<confname> dtmf <[member_id|all|last]> <digits>
<confname> kick <[member_id|all|last]>
<confname> mute <[member_id|all]|last>
<confname> unmute <[member_id|all]|last>
<confname> deaf <[member_id|all]|last>
<confname> undeaf <[member_id|all]|last>
<confname> relate <member_id> <other_member_id> [nospeak|nohear|clear]
<confname> lock
<confname> unlock
<confname> dial <endpoint_module_name>/<destination> <callerid number> <callerid name>
<confname> bgdial <endpoint_module_name>/<destination> <callerid number> <callerid name>
<confname> transfer <conference_name> <member id> [...<member id>]
<confname> record <filename>
<confname> norecord <[filename|all]>
<confname> pin <pin#>
<confname> nopin
  • No labels