> 14709

June 14, 2009

author
uwk@squatterz.com

Asterisk PBX

description
Super Cool open source PBX

keywords
teliphony

Asterisk PBX

=========================================================
CONFIGURATION

sip.conf - register devices and users.



=========================================================
PROGRAMMING

exten.conf - dialplan - program logic -- look at extension numbers as "program numbers"
asterisk functions are used in dialplan "applications" (which are kinda like functions themselves)
* Answering Machine Detection
* Make Calls
* Transfer Calls
* Set/Read Caller ID
* Telimarketer ZAP Tone
* Direct Inward System Access (Call in.. and then act like you're a phone on the local system)
* CURL
* MySQL Queries
* Call Control from external "gateway" programs EAGI includes pcm audio pipe (including php based gateway programs)
* "Audio Jack" Support
* Switch Control To PHP commands (Asterisk PHP) (this is diffrent than a php gateway program)
* Read a DTMF number (to a variable - this is different than controlling the call by going to different extension numbers.)
* Send arbitrary (custom) user events.
* Loop/Branch flow control
* Variables
* Talk Detection (jump if hear talking)
* Play Audio (multiple formats)
* Record Audio
* Record (called monitor) Call
* Echo Test
* Hold Music
* Listen In on Calls
* Dictation
* Voice Mail
* Conference Calls
* Call Queues
* Call Parking
* Receive and Process Standard Building alarm calls
* More


========================================================
PIN STYLE INPUT
use: Read(varname) -- can include a file name to play before reading. .. doesn't work in background audio playing mode.


========================================================
AUTOMATICALLY GENERATING CALLS
Generate a Call - http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out

create a .call text file (http://www.voip-info.org/wiki/view/Asterisk+Documentation+1.6.1+callfiles.txt)

something.call
-------------------
Channel: SIP/+15551235555@voicepulse-primary
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: myautocontext
Extension: 700
-----------------

uses the pbx trunk named voicepulse to call 1-555-123-5555 .. if it answers.. connects it to extension 700 in the myautocontext context.

copy this file into the folder ... asterisk\spool\outgoing\  .. (which asterisk is monitoring..) ..and poof!  asterisk goes calling!!.. verrrrry cool!.

(set the modification date to a time in the future to have asterisk wait before dialing.)

can configure the .call file to archive to outgoing_done folder with result var appended.... I wish it would also append the channel's set vars too.. so can pass back call processed values.
 
Ideas: wakeup call, group notify / attend list, reminders.




========================================================
PROGRAMATIC ACCESS VIA TCP/IP (it's human workable too) - controllable via telnet.
Standard IP:5038
manager.conf

http://www.voip-info.org/wiki/view/Asterisk+manager+API
http://www.voip-info.org/wiki/view/Asterisk+config+manager.conf

* Follow Asterisk Status
* Initiate a call
* Transfer a call
* List active calls
* More



--------------
To: Note user's input - make a curl call, make a system command, send a custom event, store in database, call a php script, send an email that plan to come.




FOLLOW UP TOPICS
=========================================
* Conference Calling
* Listening in on a call
* Call Queues
* Call Parking
* Reload Asterisk Config File without dumping current calls