The Asterisk Dial Method lets you dial through the Asterisk software PBX system. Many PBX servers are based on Asterisk and can also use this Dial Method. Setting up your Asterisk server is not a trivial task and you should consult the documentation and other resources (e.g., product forums, etc.) for your particular server. Please see below for more information on the modifications required to allow Dialectic to dial via your Asterisk server implementation.
To help configure Dialectic for dialing with the Asterisk Dial Method, we offer a free script on the Resources page (see the “General Dialing Configuration” section):
http://www.jonn8.com/dialectic/resources/
You can also access this script from within Dialectic itself by selecting the “Configuration Utilities…” menu item from the Main Menu.
Asterisk Dial Method Category. The group of all Asterisk Dial Method configurations.
Asterisk Dial Method Configurations. Configurations allow you to customize the Asterisk Dial Method using different settings or accounts for different types of calls or locales.
Username. Asterisk username as defined in the manager.conf or manager_custom.conf file used to authenticate your right to place a call using the Asterisk server.
Password. Asterisk password as defined in the manager.conf file or or manager_custom.conf used to authenticate your right to place a call using the Asterisk server.
Your Extension. Your Asterisk extension as defined in the Asterisk conf files (e.g., sip.conf).
Connected Device. The type of device you are using (e.g., SIP Phone or Adapter).
Caller ID. Caller ID information displayed to call recipients. You may use optional placeholders for the phone number and the contact name if available. These placeholders will be replaced with the actual values from the dialed number when the call is actually sent to the Asterisk server for dialing. The placeholder for the number is “%#” (without the quotes) and the placeholder of the contact name is “%n” (again, without the quotes). For example: “Calling %n at %#...”
Context. Asterisk Context as Defined in extensions.conf or extensions_custom.conf file. If you are having problems dialing out, try a Context of “from-internal” (again, without quotes). Please remember that Contexts are case-sensitive so “from-internal” is not the same as “From-Internal”.
Local. Use an Asterisk server installed on this machine.
Remote. Use an Asterisk server installed on a remote machine.
Local Utilities. Use these buttons to start/stop, reload, or get information about Asterisk installed on this machine.
Remote IP. IP or domain name of the remote Asterisk server.
Remote Port. Port for the remote Asterisk server (Default: 5038).
Verbose Logging. Enable this to log extended information when dialing using the Asterisk Dial Method. Open Console.app to view the log entries.
Use AJAM. If your Asterisk installation utilizes AJAM (Asynchronous Javascript Asterisk Manager), you can enable this option to use AJAM for accessing the AMI (Asterisk Manager Interface).
External Resource. Link to external site for more information about Asterisk.
Once properly configured, when you dial through Asterisk with Dialectic, you own phone (as specified in the “Your Extension” field) will ring; when you pick it up, Asterisk will connect you to the dialed number.
Troubleshooting an Asterisk configuration is beyond the scope of this documentation, but here are some tips. If you are having problems, make sure the required ports are open (on both your Mac and the Asterisk server), and that Asterisk’s manager.conf file (this file is located at /etc/asterisk/manager.conf on the machine running Asterisk) has been properly edited to include your information (i.e., your manager.conf file must include a custom user with a username & password that matches what you’ve entered in your Asterisk Dial Method configuration). Also, you may be using a custom manager.conf file named manager_custom.conf or something similar. Remember that after making changes to the manager.conf (or manager_custom.conf) file, you must restart the Asterisk server to enact the changes. If you’re running Asterisk locally (i.e., on the same machine as Dialectic), the “Start Asterisk” and “Reload Config” buttons in Dialectic Asterisk Dial Method configuration screen (see above) can help you with this.
It may also help, if things are not working properly, to enable the Verbose Logging checkbox. This will cause extra logging information about Dialectic’s communication with the Asterisk server to be written to the Console of the Mac running Dialectic as you try to connect.
If you have problems with dialing from Dialectic through your Asterisk server, it will help to enable Asterisk’s own verbose logging features. Let’s say you’ve configured Dialectic to connect to Asterisk on port 5038 (the default), and let’s say you’ve chosen the username “dialecticuser” and the password “mysecretpassword” (and entered these values in your Asterisk Dial Method configuration). Then your manager.conf file might look something like this:
; === manager.conf ======================================= ; [general] enabled=yes port=5038 binaddr=0.0.0.0 ; [dialecticuser] secret=mysecretpassword read=system,originate,call,log,verbose,command,agent,user write=system,originate,call,log,verbose,command,agent,user ; ; === END OF FILE =======================================
While Asterisk is running, in the Terminal, while connected to the machine running Asterisk (if this is a remote machine, you might use ssh, for example), you would reload Asterisk and ask it to stream its logging information:
sudo /usr/sbin/asterisk -rx reload sudo /usr/sbin/asterisk -vvvvvvvvvr
Logging information will then appear in the Terminal as you place a call.