Ignition has the ability to alert using VOIP SIP Solutions. AWS Chime offers SIP trunks and has been tested with Ignition 8. This article will show the basic steps on how to setup Ignition and AWS Chime to work together.
Instructions - AWS Chime
There 3 things that need to be setup with AWS Chime:
A). Setup AWS Chime by following step one of the “Getting Started” guide.
B). Create a Voice Connector. The images below will show exactly what to provide.
C). Optional - Provision a Phone Number. This phone number will be used as the sending or “From” phone number Ignition is calling from.
A) Setting up AWS Chime: 'Getting Started':
- Under the left-hand side navigation bar, click Amazon Chime/Accounts>Create account
B) Create a Voice Connector:
- Section B: Part 1
- Click Calling/Voice connectors on the left hand side navigation bar
- Click 'Create new voice connector' to open the popup displayed on the image above
- Name the voice connector
- Set to a Region
- Set Encryption to 'Disabled'
- Click 'Create' then, click the name of the connector you just made
- Navigate to the 'Termination' tab to proceed
- Section B: Part 2
- Set 'Termination status' to 'Enabled'
- Take note of your 'Outbound host name'. You will need it for the Ignition voice profile later
- Enter the Public IP of your network hosting your Ignition server to the list under Allowed hosts list*. This can be found by using http://ipchicken.com or similar tool. Do not use the Private IP of your Ignition Instance.
4. Select your country
5. Click 'Save' to continue
C) Provision a phone number:
This is step is optional. If you provisioned a phone number, assign it under the Phone Numbers tab for your Voice connector profile. This number will be used in the Ignition Alarm Notification Profile field Username/Account. However, on testing it was found any valid phone number of the format +1NNNNNNNNNN will work. The phone number simply represents the number Ignition is calling as. In a general, Ignition is just a handset in the eyes of the SIP server.
Ignition Voice Notification
Under the Ignition Gateway Config/Alarming/Alarm Notification Profiles:
- The Gateway Address for your VOIP Notification profile must match the AWS Chime’s Outbound Host Name found under the Termination Tab on AWS Chime portal.
- The Username/Account must have a phone number. It doesn’t matter what it is, but it should be a phone number you own. Ensure all phone numbers, including the contact information for each Ignition user being notified are E.164 formatted (ex: +1NNNNNNNNNN).
- Leave the password blank, you need to explicitly check "change password" and leave it blank.
- A Local bind address may need to be specified. The address used needs to have connectivity to the AWS cloud, so internet access.
- Public Bind Address under “Show advanced properties” should be you network’s Public IP.(Same as you did with Section B: Part 2, Step 3)
The primary logger used in troubleshooting communication between Ignition's VOIP Notification profile and SIP Trunks is the alarm.Notification.Voice.CallManager:
When a call goes out you should see a network send/receive message when setting this logger to either DEBUG or TRACE.
- This is how you validate the source and destination IP and port
- also confirms communication on port 5060, keep in mind voice goes over port 8000.
Wireshark is also a powerful tool to troubleshoot SIP/RTP communication.(https://www.wireshark.org/docs/wsug_html/)
- Using Wireshark you can play back the audio sent to the SIP server for call quality issues.
- When a call is initiated port 5060(SIP) is used to negotiate with Chime in this case.
- After the SIP negotiation succeeds, the call initiates and switches to RTP(real-time protocol) on port 8000.