Creating an Auto Attendant

Steps involved to create an Auto-Attendant

Creating an Auto-attendant is a multistep process which involves a few different objects in the API and a deep understanding of our platform. The following tutorial will show how to create an Auto-attendant 4001 on domain abc-company.11111.service. If you are creating multiple auto attendants please replace any instance of 4001 with your own auto attendant subscriber number.


API Base URL

As reseller of Skyswitch, you should use the Portal & API node assigned to your account. There are two ways you can access the Portal & API.

Using your Reseller ID

If your Reseller ID is 11111, Skyswitch's Manager portal is available at https://11111-hpbx.dashmanager.com.

Your API base URL will be https://11111-hpbx.dashmanager.com/ns-api/. The sample API calls shown in this page use this API Base URL for illustration purposes.

Using your Branded Domain

If your Branded Manager portal is at https://portal.acmecorp.com, your API base URL will be https://portal.acmecorp.com/ns-api/.

1. Create Auto-Attendant User

Create the Auto-Attendant use

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='subscriber' \
   -d action='create' \
   -d user='4001' \
   -d first_name = 'Daytime' \
   -d last_name = 'Auto-Attendant' \
   -d subscriber_login = '4001@abc-company' \
   -d uid = '[email protected]' \
   -d dir_list = 'no'	\
   -d dir_anc = 'no'	\
   -d srv_code = 'system-aa'	\
   -d call_limit = '0'	\
   -d dial_plan = 'abc-company.11111.service_4001'

Important Notes
The srvcode must be system-aa and the dial_plan must be the domain.
The dial_plan must follow this format, [domain]
[subscriber] i.e. abc-company.11111.service_4001.

2. Create Answering Rule

Next you have to create the answering rule to forward to the prompt application within the system. The naming convention the portal uses is:

Prompt_[subscriber]01 i.e. Prompt_400101

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='answerrule' \
   -d action='create' \
   -d user='4001' \
   -d domain = 'abc-company.11111.service'	\
   -d time_frame = '*' \
   -d priority = '99' \
   -d for_control = 'e' \
   -d for_parameters = 'Prompt_400101' \
   -d dnd_control = 'd'	\
   -d acp_control = 'd'	\
   -d rej_control = 'd'	\
   -d scr_control = 'd'	\
   -d fbu_control = 'd' \
   -d fna_control = 'd'	\
   -d sim_control = 'd'	\
   -d fna_parameters = ''	\
   -d	fbu_parameters = ''	\
   -d	fnr_parameters = ''	\
   -d	pna_parameters = ''	\
   -d acp_parameters = ''	\
   -d	rej_parameters = ''	\
   -d sim_parameters = ''	\
   -d enable = 'yes'	\

3. Create the Dial Plan and Dial Rules for Initial AA Setup

Create the Dial Plan specific to the new AA

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialplan' \
   -d action='create' \
   -d domain='abc-company.11111.service' \
   -d dialplan= 'abc-company.11111.service_4001'	\
   -d plan_description = 'dialplan for AA 4001' \

Create the Dial Rule to catch the forward from the AA User

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialrule' \
   -d action='create' \
   -d matchrule='Prompt_400101' \
   -d responder = 'Prompt'	\
   -d to_user = '400101' \
   -d domain = 'abc-company.11111.service' \
   -d to_host = 'abc-company.11111.service' \
   -d plan_description = 'API AA designer: Day Time Auto-Attendant' \
   -d dialplan = 'abc-company.11111.service_4001'	\

Create the Dial Rule for Dial by Extension 3 Digits

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialrule' \
   -d action='create' \
   -d matchrule='Prompt_400101.Case_[0-9][0-9][0-9]' \
   -d responder = 'sip:start@to-user'	\
   -d to_user = '[!!!!!!!!!!!!!!!!!!!*]' \
   -d domain = 'abc-company.11111.service' \
   -d to_host = 'abc-company.11111.service' \
   -d plan_description = 'API AA designer: Dial Extension' \
   -d dialplan = 'abc-company.11111.service_4001'	\

Create Dial Rule for Dial by Extension 4 Digits

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialrule' \
   -d action='create' \
   -d matchrule='Prompt_400101.Case_[0-9][0-9][0-9][0-9]' \
   -d responder = 'sip:start@to-user'	\
   -d to_user = '[!!!!!!!!!!!!!!!!!!!*]' \
   -d domain = 'abc-company.11111.service' \
   -d to_host = 'abc-company.11111.service' \
   -d plan_description = 'API AA designer: Dial Extension' \
   -d dialplan = 'abc-company.11111.service_4001'	\

Create Default Dial Rule to Repeat the greeting Prompt

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialrule' \
   -d action='create' \
   -d matchrule='Prompt_999001.Default' \
   -d responder = 'Prompt'	\
   -d to_user = '999001' \
   -d domain = 'abc-company.11111.service' \
   -d to_host = 'abc-company.11111.service' \
   -d plan_description = 'AA designer: Digit Timeout: Repeat the greeting prompt' \
   -d dialplan = 'abc-company.11111.service_698'	\

Create Dial Rule to Repeat the prompt on an un-programmed input

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialrule' \
   -d action='create' \
   -d matchrule='Prompt_400101.*' \
   -d responder = 'Prompt'	\
   -d to_user = '400101' \
   -d domain = 'abc-company.11111.service' \
   -d to_host = 'abc-company.11111.service' \
   -d plan_description = 'API AA designer: Unknown Input: Repeat the greeting prompt' \
   -d dialplan = 'abc-company.11111.service_4001'	\

4. Special Configuration

To configure the individual digits with special routing please follow this format:

Prompt400101.Case

For example to program input of 1 to go to user 204 please see the example:

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -d object='dialrule' \
   -d action='create' \
   -d matchrule='Prompt_400101.Case_1' \
   -d responder = 'sip:start@to-user'	\
   -d to_user = '204' \
   -d domain = 'abc-company.11111.service' \
   -d to_host = 'abc-company.11111.service' \
   -d plan_description = 'API AA designer: Unknown Input: To user 204' \
   -d dialplan = 'abc-company.11111.service_4001'	\
responderto_userto_hostdescription
sip:start@to-userSend call to user
sip:start@to-owned-device Example: 204.abc-company.11111.serviceconference-bridgeSend the call to a conference bridge
sip:start@call-queuing of the queueSend call to queue
sip:start@directory999008Send call to the company directory
sip:start@to-vmailSend call directly to a users voicemail
sip:[email protected][*]Send call to voicemail management
PromptNumber part of the "Prompt_999001". To send the call back to replay the AA you would put 999001 or put another AA to create multi-tier AA'sRepeat the current AA or send the call to another AA

5. Uploading Audio to the Auto-Attendant

The Content-Type of this request must be multipart/form-data. Also the index must match the number after Prompt.

curl https://11111-hpbx.dashmanager.com/ns-api/ \
   -H 'Authorization: Bearer 7bet078rqljh451l31uh34lsd0f80dsf' \
   -F object='audio' \
   -F action='upload' \
   -F type='greeting' \
   -F owner = '4001'	\
   -F owner_domain = 'abc-company.11111.service' \
   -F script = 'Day Time Auto Attendant' \
   -F format = 'audio/wav' \
   -F index = '400101'	\
   -F convert = 'wav'
   -F file= '@/home/user/greeting.wav'