SIP/SMS with FreePBX
From VoIP.ms Wiki
Contents |
Introduction
This page will detail the basic configuration required in order to send and receive SMS messages through FreePBX
The information in this page is based on the newer Chan_PJSIP channel driver. This is because the older Chan_SIP driver does not correctly implement authentication for SIP messaging, which is mandatory with VoIP.ms servers for security reasons. The current version of FreePBX supports using both SIP channel drivers side by side without any issue. We therefore assume the following:
- You have configured your FreePBX so that it has a PJSIP trunk that is registering with one of the VoIP.ms POPs (Point of Presence).
- You have added one or more PJSIP Extensions to your FreePBX configuration, with appropriate routes for sending and receiving phone calls.
- You have a soft-phone that is configured for registering with the above FreePBX extension, for making and receiving phone calls. This soft-phone also has the ability to send and receive SIP text messages.
You will find that the information in this page is geared towards implementing SIP messaging and has little mention of SMS. That's because sending an SMS from SIP, using the VoIP.ms gateway, starts as a SIP message where the source and destination are identifiable as SMS capable phone numbers. The VoIP.ms SIP/SMS gateway does all the rest.
Setting the messaging contexts
Setting the inbound messaging context
The first step in implementing SIP messaging with FreePBX is setting the contexts for inbound and outbound messaging. These contexts are the places, in the FreePBX dial-plan, where inbound and outbound messages will be handled. The inbound context is specified as part of your PJSIP Trunk settings:
- Go to Connectivity/Trunks. Find the PJSIP Trunk that is the one connecting to the VoIP.ms POP in the list and edit it.
- In PJSIP Settings, choose the Advanced tab.
- Scroll to the bottom of the page and enter sms-in in the Message Context field.
- Submit your changes and Apply the new config.
Setting the outbound messaging context
Setting the outbound context is a little trickier. This setting needs to be applied to each PJSIP extension that is to be used for sending messages. However, the setting does not exist in the user interface, so it needs to be added manually using the configuration editor.
- Go to Admin/config Edit. In the Asterisk custom Configuration Files, find pjsip.endpoint_custom_post.conf.
- For each of your PJSIP extension, add the following block of text, making sure to replace "nnnnnnn" with the extension identifier:
[nnnnnnn](+) message_context=sms-out