-
About Myself
- James Aimonetti
Eye-Moe-Net-Tea
- Commit to memory Patrick!
- Kazoo Architect and Community at 2600Hz
- mc_ on freenode
- James Aimonetti
-
Presenter
![img](./images/presenter_h280.jpg)
- Point a callflow at your server
- Process the call against your business logic
- Return Kazoo callflow JSON
- create a callflow
- set the pivot action as the child
- set the URL to your webserver and script
curl -X PUT \
-H "x-auth-token: {AUTH_TOKEN}" \
-H "content-type: application/json" \
-d '{"data":{
"numbers":["12345"]
,"flow":{
"module":"pivot"
,"data":{
"voice_url":"http://your.server/pivot.php"
}
}
}
}' \
http://crossbar:8000/v2/accounts/{ACCOUNT_ID}/callflows
Pivot will attempt to reach your server for calls to that callflow.
- GET - query string parameters
- POST - x-www-form-urlencoded request body
Name | Description |
---|---|
Call-ID | SIP Call-ID field |
Request | SIP Request user |
To | SIP To user |
From | SIP From user |
Account-ID | Kazoo Account ID |
Caller-ID-Name | CID Name |
Caller-ID-Number | CID Number |
Name | Description |
---|---|
Digits | DTMFs (or collections) received |
User-ID | Owner ID(s) of the calling device |
Language | Configured by the device/user/account |
- Create the script that Pivot will call
- Process and build the Kazoo callflow JSON
- Set Content-Type to application/json
- Return the JSON as the body of the HTTP response
Example Time!
- Uses FreeSWITCH
mod_flite
by default - Supports iSpeech and VoiceFabric as alternatives
Bridge to:
- Devices (SIP, CallFwd, WebRTC)
- Users
- Ring Groups
- Conferences (Pre-defined or ad-hoc)
- and more!
- Toggle between local and global resources
- Statically define a number to dial out to
- See the schema for all the data options
First, collect the DTMF
A followup HTTP request will be sent to http://pivot.your.company.com/collected.php
- Request includes
Digits[custom_name]=1234
- DTMF can either come as a basic string (if no custom name is used) or an array.
- Let's see how to process them.
Send custom presence updates
- Some IoT devices/appliances can process SIP NOTIFY
presence_id
can be name or name@realmstatus
can be idle, ringing, or busy
-
Bridging
- Device
- User
- Group
- Resource
- Conference
- Voicemail Box
- Fax Box
-
Caller ID
- Statically set Caller ID
- Dynamically set Caller ID
- Prepend Caller ID
- Routing via Whitelist or Regex of Caller IDs
-
Features
- Eavesdrop
- Group Pickup
- Intercept
- Page Groups
- Hotdesk
-
Miscellaneous
- Toggle call forwarding
- Toggle Do Not Disturb
- Directory services
- DISA
- Detect incoming fax
- Menus
- Custom Webhook
-
Possible Integrations
- Calendars (Office365, Google, etc)
- Put received media (vm, fax) into services (storage, chat)
- Ad-driven, free calling?
- Digital assistants
- IVR Analytics (track stats as callers progress)
- CRM/Salesforce access
- Combine with metaflows and webhooks: call queues
- Your Ideas?
-
In Progress
- Building automated doc generation
- Continuing to add callflow actions
-
How can you help?
- Build, build, build!
- Blog, blog, blog!
- Contribute to the docs effort
- Take ref docs and create/update the real docs