Asterisk CRM Connector. Supports FreePBX v14 and VitalPBX v3+ integration with Bitrix24 and SuiteCRM.
You need Asterisk 13+.
To monitor how call is going this connector listens for AMI events.
There should be 4 different contexts to distinguish calls:
incoming_context
- context for incoming calls from voip trunk. inbound calls will be registred thereoutgoing_context
- context for outgoing calls. outbound calls will be registred thereext_context
- extensions dials from queue, ring group, etc. use this context to route incoming calls to your extensionsdial_context
- context for originating (click2dial) calls
Default configuration is tested to work with FreePBX v14 and Asterisk v13.
Here is configuration for basic-pbx asterisk dialplan:
dialplan:
incoming_context:
- DCS-Incoming
outgoing_context:
- Outbound-Dial
ext_context:
- Dial-Users
- DCS-Incoming
dial_context: Long-Distance
You see DCS-Incoming
in ext_context
because we are dialing queue extensions directly from incoming context.
(queue memeber config member => PJSIP/1101
and not member => Local/1101@Dial-Users
like in freepbx).
Here is the configuration for VitalPBX dialplan:
dialplan:
incoming_context:
- trk-4-in
outgoing_context:
- trk-4-dial
ext_context:
- trk-4-in
- ivr-only-extensions
- cos-Standard
- sub-local-dialing
dial_context: cos-Standard
Connector can format CallerID using regexp. This useful when your VoIP provider doesn't send desired format.
cid_format
- from PBX to CRMdial_format
- from CRM to PBXexpr
- regual expression (use double blackslashes)repl
- replace pattern
If config is set and callerid doesn't matched any of regexp, then call will be ignored.
See instructions in the following files:
- README_bitrix24.md - For Bitrix24 Integration
- README_suitecrm.md - For SuiteCRM Integration
Install asterlink under /opt/asterlink folder.
- Create folder /opt/asterlink
mkdir /opt/asterlink; cd /opt/asterlink
- Download binary from releases page
wget https://github.com/MrSykes/asterlink/releases/latest/download/asterlink_x86_64.tar.gz tar xvf asterlink_x86_64.tar.gz && rm asterlink_x86_64.tar.gz chmod +x asterlink
- Or build it from source (assume you have go installed)
go get github.com/MrSykes/asterlink go build github.com/MrSykes/asterlink
- Create configuration file. Use conf.example.yml as example.
Note: config file is using YAML format and it requires to have proper indentation.
wget https://raw.githubusercontent.com/MrSykes/asterlink/master/conf.example.yml mv conf.example.yml conf.yml nano conf.yml
Use online yaml validator to check your file for errors. - Test run
./asterlink
Create /etc/systemd/system/asterlink.service file with following contents:
[Unit]
Description=AsterLink Connector
After=freepbx.service
[Install]
WantedBy=multi-user.target
[Service]
ExecStart=/bin/sh -c 'exec /opt/asterlink/asterlink >>/opt/asterlink/app.log 2>>/opt/asterlink/err_app.log'
WorkingDirectory=/opt/asterlink
Restart=always
RestartSec=5
systemctl enable asterlink
systemctl start asterlink