Asterisk call notification

Business PBX Solutions
Provider Solution Details
Bicom VoIP Become an ITSP Now!
  • Become a serious competitor in VoIP Immediately
  • FULL Consultancy, Installation, Training & Support
  • Sell Hosted IP PBXs, Biz Lines, Call Centre
  • Turnkey Provisioning at your data center
Details
3CX Software PBX for Windows
  • Windows Software Solution
  • Easy to Install and Manage
  • Auto Configures Phones & Trunks
  • Android, iOS, Windows & Mac clients
Details

Call notification tools

Possible instant messaging (and other) tools you could employ:

  1. smbclient (SAMBA)
  2. YAC (windows & TiVo listener)
  3. Jabber (various methods), ICQ, MSN, ...
  4. Covide (CRM software)
  5. Agile CRM (CRM software)
  6. FOP (Flash Operator Panel)
  7. app_notify network caller notification. Mac OSX client available (3rd party tool)
  8. app_broadcast: Works with YAC etc. (3rd party tool)
  9. asteroid (Open source, JAVA)
  10. iBCallMan (Windows Desktop Call Manager)
  11. PL Call Notify
  12. MythTV OSD
  13. NetCID (talking callerid)
  14. Emerald Caller-ID Search
  15. ADM - Asterisk Desktop Manager
  16. U-Rang II (Screen Pop Utility for Windows)
  17. Asterisk Dial & Announce Tool (ADAT). Free call-notifier (Outlook/CRM integration, event handling, click-to-dial, BLF panel and more).
  18. OutCall (Pop-Up as well as Outlook integration, free and open source)
  19. Email
  20. CallerIDpop Perl Script
  21. DialApplet, Windows, Mac & Linux
  22. AsteriskCallNotification Mac
  23. Asterisk+Twitter
  24. VoipOperator Free Windows call notification and dialer for Asterisk. Very easy to use and install.
  25. InGenius Connector Search-and Dial PC Application, Caller ID pop, integration with MS Outlook, Active Directory and Google. Optional Softphone.
  26. Thirdlane Dialer Free dialer and screen-pop application for Asterisk based PBXs. Integrated with Thirdlane Business PBX and Thirdlane Multi Tenant PBX , MS Outlook, any web based CRM, dual-mode - floating or Outlook toolbar, supports callto URLs.
  27. pyCalledMe Simple Caller ID popup script for Linux.
  28. Perl scripts for use with Asterisk to send notifications to computers that can receive and display network Growl notifications (using Growl or Growl for Windows) or that use the Notify OSD notification system (such as Ubuntu Linux).
  29. ICTBroadcast from ICT Innovations - a Voice , Sms , Fax and Email broadcasting software solution based on asterisk for SMB,Enterprenuers and ITSP(Internet Telephony Service Provider).
  30. callPopPy is a cross platform caller ID popup written in Python. CallPopPy can lookup up incoming numbers in an SQLite database and display the caller's name. A separate utility, Squalit is available to populate CallPopPy's database from Thunderbird address book.
  31. AstTray Simple (Windows) open source notification tool (with Click2Call) for windows written in C#/.NET
  32. Call4smile Is a sms ,fax,email,voice broadcasting hosted unified communication solution.Its included
  33. Asterisk call notifier HTML5 Header placed on top of Web CRM that refresh customer's content on incoming calls (Grandstream PBX compatible).
  34. VOIP CID Caller ID notification for iPhone or iPad

Submitted links that no longer seem to work

  1. EasyCallerid is tool for call centers which opens WEB page on incoming SIP calls.
  2. YAACID (open source in .NET/C#): Yet Another Asterisk Caller ID
  3. StarJunction Free Edition Caller ID pop. Integration with Salesforce and SugarCRM
  4. Pbx Screen Popper (Opens a web page on incoming calls based on specific matching criteria)

1. smbclient

The smbclient is part of SAMBA.

;Extension 200 Call ID Popup Example
exten => 200,1,NoOp(${CALLERID} ${DATETIME})
exten => 200,2,System(/bin/echo -e "'Incoming Call From: ${CALLERID} \\r Received: ${DATETIME}'"|/usr/bin/smbclient -M target_netbiosname)
exten => 200,3,Dial,sip/tom|30|t ; Ring, 30 secs max
exten => 200,4,Congestion

The above does nothing to prevent somebody from slipping bad code into their Call ID string, but as I'm running a private system and only taking Call ID's directly off the PSTN on a single low volume zap channel, or assigning them myself at this point. I'm not too worried someone is going to put in something like ''""bad command""'' in their string. It would be nice to know if there is a check someplace up the food chain in the application to qualify valid Call ID's- or if that's something possible?

Warning: Before folks get too carried away with this, the smb messaging function is considered a 'vulnerability' by most corp security folks and have it disabled at the workstation level.

Example 2

If you have Windows machines and would like to send people messages when a call is coming in for them, you can use the following macro:

[macro-stdexten]
; Standard extension macro:
; ${ARG1} - Mailbox
; ${ARG2} - Device(s) to ring
; ${ARG3} - Who the call is for
; ${ARG4} - The smb address to send a winpop message to
;
; THE FOLLOWING LINE IS SUPPOSED TO BE ONE LINE
;
exten => s,1,System(/bin/echo -e "'Incoming Call From: ${CALLERIDNUM} To:${ARG3} Received: ${DATETIME:0:2}/${DATETIME:3:2}/${DATETIME:4:4} at ${DATETIME:9}'"|/usr/bin/smbclient -M ${ARG4})

exten => s,2,Dial(${ARG2},40,m)
exten => s,3,Voicemail(u${ARG1})
exten => s,4,Goto(default,s,1)
exten => s,103,Voicemail(b${ARG1})

An example of it's use would be

exten => 277906,1,macro(stdexten|4|ZAP/3r2|FWD - 277906|Zx81_windesk)

That means: when 277906 is dialed, run the stdexten macro, pass 4 as the mailbox, Zap/3r2 as the channel to ring, FWD - 277906 as the destination (i.e. someone dialed that to get here) and Zx81_windesk as the SMB hostname.

The SMB hostname is the computer name of your computer under windows networking.
You will also need to run winpopup on the console.

2. YAC

We only need the YAC client (listener), which is available for Windows and TiVo. However, YAC (the client, not the listener) can also be used to display TAPI information, so you could combine it with e.g. SIPTAPI.

a) Using GNU netcat

The -q argument of nc doesn't exist in GNU netcat and is to be replaced by -c in comparison to "nc".
Testing interaction of netcat and YAC:
echo -n -e "@CALLTestcall from Asterisk ~1234" | netcat -c 192.168.0.1 10629
echo -n -e "Hello, how are you?" | netcat -c 192.168.0.1 10629

Hint: Start the YAC listener with "yax.exe listen" on Win98

extensons.conf:

exten => 1234,1,DBget(USERx_IP=SIP/Registry/userx)
exten => 1234,2,Cut(USERx_IP=USERx_IP,:,1)
exten => 1234,3,System(/bin/echo -n -e "'@CALL${CALLERIDNAME} ${CALLERIDNUM}'" | netcat -c -w 1 ${USERx_IP} 10629)
exten => 1234,4,Macro(stdexten,1234,SIP/userx)

b) Using "nc" (original netcat)

exten => s,4,System(/bin/echo -n -e "'@CALL${CALLERIDNAME} ~${CALLERIDNUM}'" | nc -q 0 -w 1 hostname 10629)

The options are -q (quit after EOF), and -w 1 (only wait for connect for 1 second...)

Update: I just tried the dialplan string below with asterisk@home 2.5 ISO and Windows XP Media Center 2005 running MCE YAC listener...worked flawlessly!!!

The dialplan should be modified as below.
exten => s,4,System(/bin/echo -n -e "'@CALL${CALLERIDNAME} ~${CALLERIDNUM}'" | nc -w 1 hostname 10629)

because nc v1.10 does not support the -q (quit after EOF) any more...

c) Excerpts of the YAC FAQ:

Q: What's a listener?
A: A listener is simply a program that listens to a specific TCP port (in YAC's default case, this is port 10629), accepts connections, and then displays whatever text was sent to the port in whatever way makes sense to the device.

Q: Can I control how long the YAC call notification window stays up?
A: Sure, as long as you're using the YAC user interface and not the old-style balloon option available in Win2K and XP. Open the registry key HKEY_LOCAL_MACHINE\Software\YAC, and set: DisplayTime = [time in milliseconds]. The default is 20000 (20 seconds).

Q: Can YAC use a different port?
A: Yes. Open HKEY_LOCAL_MACHINE\Software\YAC, and set Port = [PortNumber]. This key needs to be a string of type REG_SZ. The default is TCP port 10629.

2.1 Variant of YAC for Xbox Media Center

If you own an Xbox and have XBMC on it, there is a very Python script for poping up while watching a movie.
CallerID for XBMC: http://ca.geocities.com/farside@rogers.com/Scripts/callerid.html

extensions.conf:
exten => 100,1,System(/bin/echo -n -e ".....${CALLERIDNUM}~${CALLERIDNAME}" | netcat -w 1 ${XBOX_IP} 10629)


To make this work easily with freePBX, add the following lines to /etc/asterisk/extensions_custom.conf
[custom-xboxcallerid]
exten => s,1,System(/bin/echo -n -e ".....${CALLERIDNUM}~${CALLERIDNAME}" | netcat -w 1 10.100.100.1 10629)



replace the IP address of 10.100.100.1 with the IP address of your asterisk server, the name of the context can be anything you like.
Then, in freePBX, add an entry in Misc Applications, set the 'feature code' field to an unused extention, and type "custom-xboxcallerid,s,1" in the 'custom app' field, ensuring the context here is the same as in the lines above.

Then, add the extention for the custom app to your dial plan. So if inbound calls hit a ring group of extentions 101 and 102, then add your new extention to that, for example 101, 102 and 199. (if you called your custom app 199)

This will make asterisk send the caller id info to your custom app, which sends the data to the xbox.

3. YAACID

Open source for Windows - see YAACID
  • sits in notification bar and pops up when a call comes in
  • has the ability to play any custom wav sound when a call comes in and it pops up
  • has the ability to spawn a web browser and when a call comes in, and it can pass variables to a given web page

4. Jabber

Method 1: Asterisk Jabber

Method 2: For these examples i'm using SendXMPP.

exten => 6001,1,System(/bin/echo -e "'Incoming Call \\r Received: ${DATETIME}'"|/usr/bin/sendxmpp -f /etc/sendxmpp welby@sm-irc.info -s "You Have an incoming call" -t &)
exten => 6001,2,Dial(SIP/welby)


The example above uses TLS to connect to the jabber server (-t) and stores its JID and password in /etc/sendxmpp in the format
jid@whatever pass


it has to be chmod 600 'ed

Method 3: by Andrew Kohlsmith
A little Perl script that uses the Net::Jabber module — It pops up an online (presence) notification via Jabber. I use Psi (psi.affinix.com) for my Jabber client and it works quite well.

http://www.mixdown.ca/~andrew/astbot/

I wrote this up (very) quickly, but it is expandable and can be used to provide service to many people with some simple changes to the mechanism (i.e. use directed presence messages).

Method 4: Asterisk-IM
Integration component to Asterisk for Jive's Jabber/XMPP server
See Asterisk-IM - Jive Software Integration

5. Covide


by Michiel van Baak:
I have put a small tarball online with the files that do the trick for me to integrate the Covide CRM (customer relationship management) tool and Asterisk. I slightly modified them. To get the original files you can check out the cvs tree of the Covide project:

http://sourceforge.net/projects/covide
The small tarball is at: http://michiel.vanbaak.info/Files/cidXML.tar.gz

The agi script searches in the CRM database for records that match the phone nr.
The tel1.php makes a XML file from the info in the table that is filled with the agi script.
tell.php is a php script that uses XMLHttpRequest to reload this XML file all the time without blocking/reloading your web application. showtel.php is the popup window. All is very basic, but it seems to work perfectly here at our company.

Feel free to burn it down or to make adjustments.

6. FOP - Asterisk Flash Operator Panel

This nice tool can be "mis-used" to only display caller ID coupled with CRM-like info. See the FOP documentation for details.

7. HooDaHek - Download and Information

HooDaHek (hoo-dah-hek, as in 'who-the-heck?') is a collection of Asterisk AGI scripts, CGI scripts, and MySQL tables intended to implement your own in-house Caller ID database and notification services. I wrote these scripts originally to enable my household phone system to identify who was calling, be able to modify and specify my own custom CallerID labels, and to have the phone system alert us via AOL Instant Messenger or MSN Messenger as to who was calling (or had called).

8. app_notify (3rd party tool)


app_notify sends messages via UDP to machines on your network.

This php-script work with Growl clients as http://www.growlforwindows.com for windows, http://www.mumbles-project.org for linux and http://growl.info/ for Mac. First need install pear:php module Net_Growl and add in extension_custom.conf:

[ext-did-custom]
exten => _X,1,Set(__FROM_DID=${EXTEN})
exten => _X,n,Gosub(cidlookup,cidlookup_1,1)
exten => _X,n,GotoIf($["${CALLERID(name)}" != " " ] ?cidok)
exten => _X,n,Set(CALLERID(name)=${CALLERID(num)})
exten => _X,n(cidok),Noop(CallerID is ${CALLERID(all)})
exten => _X,n,AGI(growlsend.agi,192.168.0.53,123654,${CALLERID(name)}|${CALLERID(num)})


/usr/share/asterisk/agi-bin/growlsend.agi
<?php
require_once 'Net/Growl.php';
require_once 'phpagi.php';

//error_reporting(E_ALL);
ini_set('display_errors', 0 );

ob_implicit_flush(true);
set_time_limit(0);

function get_var( $agi, $value)
{
$r = $agi->get_variable( $value );

if ($r['result'] == 1)
{
$result = $r['data'];
return $result;
}
else
return '';
}

$agi = new AGI();
$agi->verbose("Starting New GrowlSend.agi", 3);

if (!isset($argv[1])) {
$agi->verbose("Missing host");
exit(1);
} else {
$client = array('host' => $argv[1]);
}

if (!isset($argv[2])) {
$agi->verbose("Missing password");
exit(1);
} else {
$passwd = $argv[2];
}

if (!isset($argv[3])) {
$cidname = get_var($agi, "CALLERIDNAME");
$cidnum = get_var($agi, "CALLERIDNUM");
$description = 'Call from '.htmlspecialchars($cidname).' phone '.$cidnum;
} else {
$description = $argv[3];
}

// Setup
$notification = array('Errors', 'Messages');
$app_name = 'growlnotification';
$error = "Growl to ".$client['host']." with passwd ".$passwd." desc: ".$description;
$notify_opt = array('priority' => 0, 'stikly' => false);
$agi->verbose($error, 3);

//init growl application
$growl = new Net_Growl($app_name, $notification, $passwd, $client);

// Send Notification
$growl->notify('Messages', 'Incomming call', $description);
?>


For those who prefer Perl to PHP, or who would like to be able to send notifications to computers that get their IP address using DHCP (therefore the IP address may change from time to time), see this article, which includes a pair of Perl scripts that can be used in this manner provided the MAC address of the computer (running Growl or Growl for Windows) is known, or this article, which shows similar Perl scripts for use with computers running Notify OSD (such as Ubuntu Linux) or any command-line invoked notification system.

9. app_broadcast (3rd party tool)

http://psg.com/~begg/projects/
Broadcast is an Asterisk application which you may use to send a generic message over TCP/IP to any number of computers running software configured to listen for these types of messages. Being written in C, Broadcast will be dynamically loaded onto the Asterisk program on startup, making it a highly reliable and scalable option when compared with other solutions based on the Asterisk Gateway Interface (AGI) system...

You would like a nice window to pop up with say the caller id details of an incoming call. With this same software, you may "selectively" broadcast messages for example, you may only want the sales crew to see information about a given caller and not other groups. For example:

[sales-context]
exten => s,1,Answer
exten => s,2,Broadcast(This is a sales call|group=sales)
exten => s,3,Dial(whatever)

In such a case, you will need to have configured the "sales computers"
with a group attribute set to sales for example:

[192.168.1.1]
port = 10296
group = sales

[192.168.1.2]
port = 10345
group = sales

[192.168.1.3]
port = 19002
group = technical

In such a case as above, onlye the first two machines (192.168.1.1 and 192.168.1.2) will be notified.

All you need configured on the machines that need to receive these messages is software like YAC ("Yet Another Callerid program") which you may get from http://sunflowerhead.com/software/yac/
You will only need to configure the broadcast application to connect to the right port.

10. Asteriod

Asteriod: Pop-up note-taking windows based on caller-ID, outgoing call dialing from directory lookup selection

12. PL Call Notify

suvault: Java jar which allows you to use the asterisk manager API to receive a basic message box with the Caller ID and the Caller ID name.
The site is not pretty to look at but the app does its job.

13. MythTV OSD

Using mythtvosd you can broadcast a message to be displayed on a mythtv box. See Asterisk tips MythTV integration, and FreePBX MythTV OSD

14. NetCID

NetCID is a free network talking callerid popup program that Asterisk can use to send notifications to windows computers
See Asterisk NetCID

15. Emerald Caller-ID Search

A callerid search popup application allowing the callers number to be looked up automatically via a HTTP URL and the results displayed in the popup window. Supports Asterisk Manager API, YAC and direct modem listening. Avaliable at no charge here

16. ADM - Asterisk Desktop Manager


17. U-Rang II

U-Rang II is a free screen pop utility that Asterisk can use to send notifications to windows computers. It uses the Asterisk Call Manager to monitor incoming calls, and is relatively easy to set up and use, but is not very configurable. Still, it will get the job done for many users. It does NOT require changes to any system files on the Asterisk box other than /etc/asterisk/manager_custom.conf (or the equivalent Call Manager configuration file), making it an ideal choice for use on Trixbox and FreePBX systems. The software download and instructions are available at the Best of Nerd Vittles site.

18. ADAT - Asterisk Dial & Announce Tool

TTTelecom has developed a CTI-integration tool for the Open Source Asterisk PBX. ADAT ("Asterisk Dial & Announce Tool) enables users to monitor and control their extension. CRM-integration is also part of the software. Although ADAT is still in development, the following list of features are already fully supported:

  • Balloon notification of incoming and outgoing calls (incl. caller id and name if available)
  • CRM-integration through popup URL (both incoming and outgoing calls)
  • Advanced event handler
  • Manual Dialer
  • Hot Key / Copy & Paste dialer (select a number anywhere and dial!)
  • Outlook integration (search in and use your Outlook Contacts)
  • Use of your own centralized contacts directory
  • Monitor extensions with the Basic Operator Panel (BLF status + Speed Dial)
  • Dial pattern handler
  • Internet Explorer / Firefox context-menu dialer. Easily dial any number you find on the web with a simple select and dial feature.
  • Click-To-Dial handles callto: hyperlinks

Dowload ADAT Asterisk Dial & Announce Tool. Free Windows call-notifier with CRM-integration & click-to-dial. Click here for the ADAT Wiki (configuration guide).

19. PBX Screen Popper

http://www.codesonics.com

  • Opens a web page to a specified URL when you receive a phone call to your Asterisk extension.
  • Use all or part of the CallerID as a formfield in the URL
  • Specify conditions under which the page is opened
  • Uses the Asterisk Manager API
  • Opens page on answer, ring or when asked
  • Open page for any CallerID or if matched to a specific value, starts with, contains or ends with a specific value
  • Allows you to strip characters from the start or end of CallerID

20. StarJunction Free Edition

Star Outlook Dialer is a Microsoft Office Outlook add-in. It automatically detects contacts and telephone numbers in outlook and provides one-click dialing facility right from your inbox. It gives popup Caller ID on incoming calls using StarJunction. It integrates with any IP PBX including Cisco, Avaya, Brekeke, PbxnSip, Asterisk, SER, Axon, 3Cx etc to initiate call to your contact while reading its email in Microsoft Outlook. It displays a nice toolbar in outlook to give quick access to its functions. It is compatible with Microsoft Windows Vista . Star outlook dialer free edition is free for life. StarJunction optionally installs with Star Outlook Dialer and provides caller ID pop as well as CRM integration features. (Integration with Salesforce and SugarCRM.)

21. OutCall

Pop-Up as well as Outlook integration, free and open source

22. Email notifications for missed calls in Asterisk

"A feature I have wanted for a long time is to get emails about missed calls. I have a Blackberry and knowing that people are calling and hanging up before leaving a vm is very useful when I am out in the field. I wrote a small shell script to add this functionality to Asterisk."

23. CallerIDpop Perl Script

This Perl script polls a Linksys or Sipura VoIP adapter or phone once per second, and when a call arrives it displays a popup notification (Caller Name, Caller Number, Line called, Date and Time) using an existing notification system - for example, on Mac OS X it uses the popular Growl notifications system, on Win32 systems it uses Snarl, and on Linux systems it uses libnotify. There is a separate script and instruction file for each of the mentioned operating systems, and because it is a Perl script it would be easy to modify if it doesn't quite meet the user's needs as is. At present it will take its options from command line arguments or from a configuration file, and there's an option to send received Caller ID data to log files (plain text or comma-quote delimited), although the logs are somewhat limited since they only show calls that actually reach the adapter. This might be a solution for Linksys/Sipura endpoints that for one reason or another cannot connect directly to the Asterisk server to receive Caller ID notifications using one of the other methods shown here.

24. DialApplet


If you dispose over tools like CRM (Customer Relationship Management), ERP (Enterprise rescource Planung) or another database with general dates, we can intergrate them in phone events, making the fusion of voice and data of your actual applications more effective. In the moment of answering the phone, for outgoing just as for incoming calls, any application you want opens automatically in any of the following ways:

- Open an URL: DialApplet opens the url you want in your preset browser with the following parametres: telephone number, extension and the uniqueid of the call provided from Asterisk.
- Execute a program: ...from your PC with the following parametres: telephone number, extension and uniqueid of the call provided from Astersik.
- Send a message through a socket: DialApplet connects itself with the IP and the port you want and send the message you want with the following parametres: telephone number, extension and the uniqueid of the call provided from Asterisk.

More: DialApplet,

25. AsteriskCallNotification


AsteriskCallNotification is a small OS X application that displays the number of the caller onscreen. The number is looked up in the local address book. If a contact is found the name and contact photo are displayed. If no match was found in the address book the number is looked up in the swiss telephone database (tel.search.ch) and the name displayed.

More: AsteriskCallNotification,

26. Asterisk+Twitter


For more information about this, please see Asterisk+Twitter, but the basics are:

First, you’ll need an AGI script. Look, here’s one I prepared earlier - twitter.agi

#!/bin/bash
# Background the curl process incase twitter doesn't respond. It will hang the dialplan.
curl -u username:PASSWORD -d text="$1" \
-d user="recipient" \
http://twitter.com/direct_messages/new.xml &

Put the script in /var/lib/asterisk/agi-bin. Don’t forget to chmod +x the script as well.

Pretty simple eh? The only things you’ll have to change in the script are

  • username = your twitter login name
  • PASSWORD = your twitter password
  • recipient = Who will get your direct message

Ok, and to make it work in Asterisk I put this in the extensions.conf file for the exten that I wanted to monitor:

[home_phone]
exten => s,1,NoOp("This is my home phone context")
exten => s,n,Set(_DIDNUM="PUT YOUR DID NUM HERE")
exten => s,n,LookupCIDName
exten => s,n,AGI(twitter.agi|PBX: ${CALLERID(all)} just called on ${EXTEN})

I’ve only shown the first bits of this context, after this is your normal context such as DIAL or whatever else you might now. I actually build in a few seconds of delay to allow the text message a chance to get to my phone before the phone rings. A sort of early warning system :)


27. VoipOperator - Free Asterisk call notification and dialer for Windows

VoipOperator is a flexible, easy to use and install utility for Windows thar displays the incoming and outgoing calls of your PBX and assists you dial.

  • Call notification
    • Notifies for incoming and outgoing calls and displays the phone number.
  • Caller identification
    • Displays the caller name for incoming and outgoing calls from PBX dictionary or private phonebook.
  • Call History
    • Displays history of incoming and outgoing calls.
  • Private phonebook
    • Used for dialing and caller identification.
    • Search entering any part of the name or number.
  • Phone dialer
    • Dial from the PC entering the number.
    • Dial from the phonebook.
    • Dial numbers from history.

VoipOperator runs on Windows XP, Vista, 2000 and Windows 7 and is compatible with Asterisk and other Asterisk based PBXs like Trixbox, Elastix.

28. InGenius Connector - Search-and-Dial PC app with incoming caller ID screen pop.


  • Compatible with Polycom IP Phones or any phone connected to an Asterisk Switch
  • Incoming caller ID screen-pop with automated contact pop and desktop search
  • MS Outlook, Active Directory and LDAP integration
  • Integrated web searches with Google Maps and Google Search
  • Small toolbar and tray icon interface
  • Optional integrated Softphone, same search capabilitie and unobtrusive UI
  • Serverless PC install, mass deployment capabilities
  • Network-aware
  • Integrates with CRMs via optional TAPI plug-in

For more info: http://www.ingeniusconnector.com

29. Thirdlane Dialer


Free dialer and screen-pop application for Asterisk based PBXs. Integrated with Thirdlane PBX and Thirdlane PBX MTE, MS Outlook, any web based CRM, dual-mode - floating or Outlook toolbar, supports callto URLs.

30. pyCalledMe


Simple Caller ID popup script for Linux.

31. Perl scripts for use with Asterisk to send notifications to computers that can receive and display network Growl notifications (using Growl or Growl for Windows) or that use the Notify OSD notification system (such as Ubuntu Linux).


The original script was intended to be used where the computer on which you want to receive the notifications is running Growl (under Mac OS X), Growl for Windows, or Mumbles under Linux, and where Growl or Mumbles is configured to receive network notifications. The newer script provides similar notifications using an SSH connection to a computer running Notify OSD (typically a Ubuntu Linux machine), although it can be used with any of your systems that have a way to invoke a notification from the command prompt (using a program such as notify-send or growlnotify).

32 ICTBroadcast is a web based multi tenant Voice, Email, SMS & Fax broadcasting / telemarketing software solution for SMB's and ITSP

ICTBroadcast is capable to work with multiple type of Gateways including re-known open source Asterisk, Freeswitch and Kannel. ICT Broadcast can be scaled to blast thousands of simultaneous calls using either VoIP using SIP / IAX, FOIP using T.38 / G.711 or PSTN. It is simple reliable and user friendly web portal to manage.

ICT Broadcast platform support following type of campaigns.
Simple Voice Broadcasting )
Voice Broadcasting with Live agents support )
Interactive Voice Broadcasting)
Survey / Polls )
Inbound IVR campaigns)
SMS Broadcasting (SMS Module )
Fax Broadcasting (Fax Module )

How Voice Broadcasting works
User upload a list of telephone numbers, upload audio message , configure outbound voice gateways and start a new campaign according to requirements using ICT Broadcast web interface and within seconds ICT Broadcast will start broadcasting user's voice message to given list of telephone numbers with real time statistics presenting through web interface .

ICT Broadcast Features

For more detail please visit ICT Innovations web site

ICTBroadcast is developed by ICT Innovations

33. callPopPy

is a cross platform caller ID popup written in Python. CallPopPy can lookup up incoming numbers in an SQLite database and display the caller's name. A separate utility, Squalit, is available to populate CallPopPy's database from Thunderbird address book. Squalit is a Thunderbird extension. It would be possible to write other utilities to integrate callPopPy with other PIMs

34. How to send various types of notifications on an incoming call in FreePBX

is written specifically for FreePBX users, although with a bit of tweaking the examples shown could be used with native Asterisk. Covers topics such as how to send an e-mail or SMS message, how to send notifications to XBMC or Boxee, and how to send notifications only on "missed" calls rather than all calls.

See also



Go back to Asterisk GUI

Call notification tools

Possible instant messaging (and other) tools you could employ:

  1. smbclient (SAMBA)
  2. YAC (windows & TiVo listener)
  3. Jabber (various methods), ICQ, MSN, ...
  4. Covide (CRM software)
  5. Agile CRM (CRM software)
  6. FOP (Flash Operator Panel)
  7. app_notify network caller notification. Mac OSX client available (3rd party tool)
  8. app_broadcast: Works with YAC etc. (3rd party tool)
  9. asteroid (Open source, JAVA)
  10. iBCallMan (Windows Desktop Call Manager)
  11. PL Call Notify
  12. MythTV OSD
  13. NetCID (talking callerid)
  14. Emerald Caller-ID Search
  15. ADM - Asterisk Desktop Manager
  16. U-Rang II (Screen Pop Utility for Windows)
  17. Asterisk Dial & Announce Tool (ADAT). Free call-notifier (Outlook/CRM integration, event handling, click-to-dial, BLF panel and more).
  18. OutCall (Pop-Up as well as Outlook integration, free and open source)
  19. Email
  20. CallerIDpop Perl Script
  21. DialApplet, Windows, Mac & Linux
  22. AsteriskCallNotification Mac
  23. Asterisk+Twitter
  24. VoipOperator Free Windows call notification and dialer for Asterisk. Very easy to use and install.
  25. InGenius Connector Search-and Dial PC Application, Caller ID pop, integration with MS Outlook, Active Directory and Google. Optional Softphone.
  26. Thirdlane Dialer Free dialer and screen-pop application for Asterisk based PBXs. Integrated with Thirdlane Business PBX and Thirdlane Multi Tenant PBX , MS Outlook, any web based CRM, dual-mode - floating or Outlook toolbar, supports callto URLs.
  27. pyCalledMe Simple Caller ID popup script for Linux.
  28. Perl scripts for use with Asterisk to send notifications to computers that can receive and display network Growl notifications (using Growl or Growl for Windows) or that use the Notify OSD notification system (such as Ubuntu Linux).
  29. ICTBroadcast from ICT Innovations - a Voice , Sms , Fax and Email broadcasting software solution based on asterisk for SMB,Enterprenuers and ITSP(Internet Telephony Service Provider).
  30. callPopPy is a cross platform caller ID popup written in Python. CallPopPy can lookup up incoming numbers in an SQLite database and display the caller's name. A separate utility, Squalit is available to populate CallPopPy's database from Thunderbird address book.
  31. AstTray Simple (Windows) open source notification tool (with Click2Call) for windows written in C#/.NET
  32. Call4smile Is a sms ,fax,email,voice broadcasting hosted unified communication solution.Its included
  33. Asterisk call notifier HTML5 Header placed on top of Web CRM that refresh customer's content on incoming calls (Grandstream PBX compatible).
  34. VOIP CID Caller ID notification for iPhone or iPad

Submitted links that no longer seem to work

  1. EasyCallerid is tool for call centers which opens WEB page on incoming SIP calls.
  2. YAACID (open source in .NET/C#): Yet Another Asterisk Caller ID
  3. StarJunction Free Edition Caller ID pop. Integration with Salesforce and SugarCRM
  4. Pbx Screen Popper (Opens a web page on incoming calls based on specific matching criteria)

1. smbclient

The smbclient is part of SAMBA.

;Extension 200 Call ID Popup Example
exten => 200,1,NoOp(${CALLERID} ${DATETIME})
exten => 200,2,System(/bin/echo -e "'Incoming Call From: ${CALLERID} \\r Received: ${DATETIME}'"|/usr/bin/smbclient -M target_netbiosname)
exten => 200,3,Dial,sip/tom|30|t ; Ring, 30 secs max
exten => 200,4,Congestion

The above does nothing to prevent somebody from slipping bad code into their Call ID string, but as I'm running a private system and only taking Call ID's directly off the PSTN on a single low volume zap channel, or assigning them myself at this point. I'm not too worried someone is going to put in something like ''""bad command""'' in their string. It would be nice to know if there is a check someplace up the food chain in the application to qualify valid Call ID's- or if that's something possible?

Warning: Before folks get too carried away with this, the smb messaging function is considered a 'vulnerability' by most corp security folks and have it disabled at the workstation level.

Example 2

If you have Windows machines and would like to send people messages when a call is coming in for them, you can use the following macro:

[macro-stdexten]
; Standard extension macro:
; ${ARG1} - Mailbox
; ${ARG2} - Device(s) to ring
; ${ARG3} - Who the call is for
; ${ARG4} - The smb address to send a winpop message to
;
; THE FOLLOWING LINE IS SUPPOSED TO BE ONE LINE
;
exten => s,1,System(/bin/echo -e "'Incoming Call From: ${CALLERIDNUM} To:${ARG3} Received: ${DATETIME:0:2}/${DATETIME:3:2}/${DATETIME:4:4} at ${DATETIME:9}'"|/usr/bin/smbclient -M ${ARG4})

exten => s,2,Dial(${ARG2},40,m)
exten => s,3,Voicemail(u${ARG1})
exten => s,4,Goto(default,s,1)
exten => s,103,Voicemail(b${ARG1})

An example of it's use would be

exten => 277906,1,macro(stdexten|4|ZAP/3r2|FWD - 277906|Zx81_windesk)

That means: when 277906 is dialed, run the stdexten macro, pass 4 as the mailbox, Zap/3r2 as the channel to ring, FWD - 277906 as the destination (i.e. someone dialed that to get here) and Zx81_windesk as the SMB hostname.

The SMB hostname is the computer name of your computer under windows networking.
You will also need to run winpopup on the console.

2. YAC

We only need the YAC client (listener), which is available for Windows and TiVo. However, YAC (the client, not the listener) can also be used to display TAPI information, so you could combine it with e.g. SIPTAPI.

a) Using GNU netcat

The -q argument of nc doesn't exist in GNU netcat and is to be replaced by -c in comparison to "nc".
Testing interaction of netcat and YAC:
echo -n -e "@CALLTestcall from Asterisk ~1234" | netcat -c 192.168.0.1 10629
echo -n -e "Hello, how are you?" | netcat -c 192.168.0.1 10629

Hint: Start the YAC listener with "yax.exe listen" on Win98

extensons.conf:

exten => 1234,1,DBget(USERx_IP=SIP/Registry/userx)
exten => 1234,2,Cut(USERx_IP=USERx_IP,:,1)
exten => 1234,3,System(/bin/echo -n -e "'@CALL${CALLERIDNAME} ${CALLERIDNUM}'" | netcat -c -w 1 ${USERx_IP} 10629)
exten => 1234,4,Macro(stdexten,1234,SIP/userx)

b) Using "nc" (original netcat)

exten => s,4,System(/bin/echo -n -e "'@CALL${CALLERIDNAME} ~${CALLERIDNUM}'" | nc -q 0 -w 1 hostname 10629)

The options are -q (quit after EOF), and -w 1 (only wait for connect for 1 second...)

Update: I just tried the dialplan string below with asterisk@home 2.5 ISO and Windows XP Media Center 2005 running MCE YAC listener...worked flawlessly!!!

The dialplan should be modified as below.
exten => s,4,System(/bin/echo -n -e "'@CALL${CALLERIDNAME} ~${CALLERIDNUM}'" | nc -w 1 hostname 10629)

because nc v1.10 does not support the -q (quit after EOF) any more...

c) Excerpts of the YAC FAQ:

Q: What's a listener?
A: A listener is simply a program that listens to a specific TCP port (in YAC's default case, this is port 10629), accepts connections, and then displays whatever text was sent to the port in whatever way makes sense to the device.

Q: Can I control how long the YAC call notification window stays up?
A: Sure, as long as you're using the YAC user interface and not the old-style balloon option available in Win2K and XP. Open the registry key HKEY_LOCAL_MACHINE\Software\YAC, and set: DisplayTime = [time in milliseconds]. The default is 20000 (20 seconds).

Q: Can YAC use a different port?
A: Yes. Open HKEY_LOCAL_MACHINE\Software\YAC, and set Port = [PortNumber]. This key needs to be a string of type REG_SZ. The default is TCP port 10629.

2.1 Variant of YAC for Xbox Media Center

If you own an Xbox and have XBMC on it, there is a very Python script for poping up while watching a movie.
CallerID for XBMC: http://ca.geocities.com/farside@rogers.com/Scripts/callerid.html

extensions.conf:
exten => 100,1,System(/bin/echo -n -e ".....${CALLERIDNUM}~${CALLERIDNAME}" | netcat -w 1 ${XBOX_IP} 10629)


To make this work easily with freePBX, add the following lines to /etc/asterisk/extensions_custom.conf
[custom-xboxcallerid]
exten => s,1,System(/bin/echo -n -e ".....${CALLERIDNUM}~${CALLERIDNAME}" | netcat -w 1 10.100.100.1 10629)



replace the IP address of 10.100.100.1 with the IP address of your asterisk server, the name of the context can be anything you like.
Then, in freePBX, add an entry in Misc Applications, set the 'feature code' field to an unused extention, and type "custom-xboxcallerid,s,1" in the 'custom app' field, ensuring the context here is the same as in the lines above.

Then, add the extention for the custom app to your dial plan. So if inbound calls hit a ring group of extentions 101 and 102, then add your new extention to that, for example 101, 102 and 199. (if you called your custom app 199)

This will make asterisk send the caller id info to your custom app, which sends the data to the xbox.

3. YAACID

Open source for Windows - see YAACID
  • sits in notification bar and pops up when a call comes in
  • has the ability to play any custom wav sound when a call comes in and it pops up
  • has the ability to spawn a web browser and when a call comes in, and it can pass variables to a given web page

4. Jabber

Method 1: Asterisk Jabber

Method 2: For these examples i'm using SendXMPP.

exten => 6001,1,System(/bin/echo -e "'Incoming Call \\r Received: ${DATETIME}'"|/usr/bin/sendxmpp -f /etc/sendxmpp welby@sm-irc.info -s "You Have an incoming call" -t &)
exten => 6001,2,Dial(SIP/welby)


The example above uses TLS to connect to the jabber server (-t) and stores its JID and password in /etc/sendxmpp in the format
jid@whatever pass


it has to be chmod 600 'ed

Method 3: by Andrew Kohlsmith
A little Perl script that uses the Net::Jabber module — It pops up an online (presence) notification via Jabber. I use Psi (psi.affinix.com) for my Jabber client and it works quite well.

http://www.mixdown.ca/~andrew/astbot/

I wrote this up (very) quickly, but it is expandable and can be used to provide service to many people with some simple changes to the mechanism (i.e. use directed presence messages).

Method 4: Asterisk-IM
Integration component to Asterisk for Jive's Jabber/XMPP server
See Asterisk-IM - Jive Software Integration

5. Covide


by Michiel van Baak:
I have put a small tarball online with the files that do the trick for me to integrate the Covide CRM (customer relationship management) tool and Asterisk. I slightly modified them. To get the original files you can check out the cvs tree of the Covide project:

http://sourceforge.net/projects/covide
The small tarball is at: http://michiel.vanbaak.info/Files/cidXML.tar.gz

The agi script searches in the CRM database for records that match the phone nr.
The tel1.php makes a XML file from the info in the table that is filled with the agi script.
tell.php is a php script that uses XMLHttpRequest to reload this XML file all the time without blocking/reloading your web application. showtel.php is the popup window. All is very basic, but it seems to work perfectly here at our company.

Feel free to burn it down or to make adjustments.

6. FOP - Asterisk Flash Operator Panel

This nice tool can be "mis-used" to only display caller ID coupled with CRM-like info. See the FOP documentation for details.

7. HooDaHek - Download and Information

HooDaHek (hoo-dah-hek, as in 'who-the-heck?') is a collection of Asterisk AGI scripts, CGI scripts, and MySQL tables intended to implement your own in-house Caller ID database and notification services. I wrote these scripts originally to enable my household phone system to identify who was calling, be able to modify and specify my own custom CallerID labels, and to have the phone system alert us via AOL Instant Messenger or MSN Messenger as to who was calling (or had called).

8. app_notify (3rd party tool)


app_notify sends messages via UDP to machines on your network.

This php-script work with Growl clients as http://www.growlforwindows.com for windows, http://www.mumbles-project.org for linux and http://growl.info/ for Mac. First need install pear:php module Net_Growl and add in extension_custom.conf:

[ext-did-custom]
exten => _X,1,Set(__FROM_DID=${EXTEN})
exten => _X,n,Gosub(cidlookup,cidlookup_1,1)
exten => _X,n,GotoIf($["${CALLERID(name)}" != " " ] ?cidok)
exten => _X,n,Set(CALLERID(name)=${CALLERID(num)})
exten => _X,n(cidok),Noop(CallerID is ${CALLERID(all)})
exten => _X,n,AGI(growlsend.agi,192.168.0.53,123654,${CALLERID(name)}|${CALLERID(num)})


/usr/share/asterisk/agi-bin/growlsend.agi
<?php
require_once 'Net/Growl.php';
require_once 'phpagi.php';

//error_reporting(E_ALL);
ini_set('display_errors', 0 );

ob_implicit_flush(true);
set_time_limit(0);

function get_var( $agi, $value)
{
$r = $agi->get_variable( $value );

if ($r['result'] == 1)
{
$result = $r['data'];
return $result;
}
else
return '';
}

$agi = new AGI();
$agi->verbose("Starting New GrowlSend.agi", 3);

if (!isset($argv[1])) {
$agi->verbose("Missing host");
exit(1);
} else {
$client = array('host' => $argv[1]);
}

if (!isset($argv[2])) {
$agi->verbose("Missing password");
exit(1);
} else {
$passwd = $argv[2];
}

if (!isset($argv[3])) {
$cidname = get_var($agi, "CALLERIDNAME");
$cidnum = get_var($agi, "CALLERIDNUM");
$description = 'Call from '.htmlspecialchars($cidname).' phone '.$cidnum;
} else {
$description = $argv[3];
}

// Setup
$notification = array('Errors', 'Messages');
$app_name = 'growlnotification';
$error = "Growl to ".$client['host']." with passwd ".$passwd." desc: ".$description;
$notify_opt = array('priority' => 0, 'stikly' => false);
$agi->verbose($error, 3);

//init growl application
$growl = new Net_Growl($app_name, $notification, $passwd, $client);

// Send Notification
$growl->notify('Messages', 'Incomming call', $description);
?>


For those who prefer Perl to PHP, or who would like to be able to send notifications to computers that get their IP address using DHCP (therefore the IP address may change from time to time), see this article, which includes a pair of Perl scripts that can be used in this manner provided the MAC address of the computer (running Growl or Growl for Windows) is known, or this article, which shows similar Perl scripts for use with computers running Notify OSD (such as Ubuntu Linux) or any command-line invoked notification system.

9. app_broadcast (3rd party tool)

http://psg.com/~begg/projects/
Broadcast is an Asterisk application which you may use to send a generic message over TCP/IP to any number of computers running software configured to listen for these types of messages. Being written in C, Broadcast will be dynamically loaded onto the Asterisk program on startup, making it a highly reliable and scalable option when compared with other solutions based on the Asterisk Gateway Interface (AGI) system...

You would like a nice window to pop up with say the caller id details of an incoming call. With this same software, you may "selectively" broadcast messages for example, you may only want the sales crew to see information about a given caller and not other groups. For example:

[sales-context]
exten => s,1,Answer
exten => s,2,Broadcast(This is a sales call|group=sales)
exten => s,3,Dial(whatever)

In such a case, you will need to have configured the "sales computers"
with a group attribute set to sales for example:

[192.168.1.1]
port = 10296
group = sales

[192.168.1.2]
port = 10345
group = sales

[192.168.1.3]
port = 19002
group = technical

In such a case as above, onlye the first two machines (192.168.1.1 and 192.168.1.2) will be notified.

All you need configured on the machines that need to receive these messages is software like YAC ("Yet Another Callerid program") which you may get from http://sunflowerhead.com/software/yac/
You will only need to configure the broadcast application to connect to the right port.

10. Asteriod

Asteriod: Pop-up note-taking windows based on caller-ID, outgoing call dialing from directory lookup selection

12. PL Call Notify

suvault: Java jar which allows you to use the asterisk manager API to receive a basic message box with the Caller ID and the Caller ID name.
The site is not pretty to look at but the app does its job.

13. MythTV OSD

Using mythtvosd you can broadcast a message to be displayed on a mythtv box. See Asterisk tips MythTV integration, and FreePBX MythTV OSD

14. NetCID

NetCID is a free network talking callerid popup program that Asterisk can use to send notifications to windows computers
See Asterisk NetCID

15. Emerald Caller-ID Search

A callerid search popup application allowing the callers number to be looked up automatically via a HTTP URL and the results displayed in the popup window. Supports Asterisk Manager API, YAC and direct modem listening. Avaliable at no charge here

16. ADM - Asterisk Desktop Manager


17. U-Rang II

U-Rang II is a free screen pop utility that Asterisk can use to send notifications to windows computers. It uses the Asterisk Call Manager to monitor incoming calls, and is relatively easy to set up and use, but is not very configurable. Still, it will get the job done for many users. It does NOT require changes to any system files on the Asterisk box other than /etc/asterisk/manager_custom.conf (or the equivalent Call Manager configuration file), making it an ideal choice for use on Trixbox and FreePBX systems. The software download and instructions are available at the Best of Nerd Vittles site.

18. ADAT - Asterisk Dial & Announce Tool

TTTelecom has developed a CTI-integration tool for the Open Source Asterisk PBX. ADAT ("Asterisk Dial & Announce Tool) enables users to monitor and control their extension. CRM-integration is also part of the software. Although ADAT is still in development, the following list of features are already fully supported:

  • Balloon notification of incoming and outgoing calls (incl. caller id and name if available)
  • CRM-integration through popup URL (both incoming and outgoing calls)
  • Advanced event handler
  • Manual Dialer
  • Hot Key / Copy & Paste dialer (select a number anywhere and dial!)
  • Outlook integration (search in and use your Outlook Contacts)
  • Use of your own centralized contacts directory
  • Monitor extensions with the Basic Operator Panel (BLF status + Speed Dial)
  • Dial pattern handler
  • Internet Explorer / Firefox context-menu dialer. Easily dial any number you find on the web with a simple select and dial feature.
  • Click-To-Dial handles callto: hyperlinks

Dowload ADAT Asterisk Dial & Announce Tool. Free Windows call-notifier with CRM-integration & click-to-dial. Click here for the ADAT Wiki (configuration guide).

19. PBX Screen Popper

http://www.codesonics.com

  • Opens a web page to a specified URL when you receive a phone call to your Asterisk extension.
  • Use all or part of the CallerID as a formfield in the URL
  • Specify conditions under which the page is opened
  • Uses the Asterisk Manager API
  • Opens page on answer, ring or when asked
  • Open page for any CallerID or if matched to a specific value, starts with, contains or ends with a specific value
  • Allows you to strip characters from the start or end of CallerID

20. StarJunction Free Edition

Star Outlook Dialer is a Microsoft Office Outlook add-in. It automatically detects contacts and telephone numbers in outlook and provides one-click dialing facility right from your inbox. It gives popup Caller ID on incoming calls using StarJunction. It integrates with any IP PBX including Cisco, Avaya, Brekeke, PbxnSip, Asterisk, SER, Axon, 3Cx etc to initiate call to your contact while reading its email in Microsoft Outlook. It displays a nice toolbar in outlook to give quick access to its functions. It is compatible with Microsoft Windows Vista . Star outlook dialer free edition is free for life. StarJunction optionally installs with Star Outlook Dialer and provides caller ID pop as well as CRM integration features. (Integration with Salesforce and SugarCRM.)

21. OutCall

Pop-Up as well as Outlook integration, free and open source

22. Email notifications for missed calls in Asterisk

"A feature I have wanted for a long time is to get emails about missed calls. I have a Blackberry and knowing that people are calling and hanging up before leaving a vm is very useful when I am out in the field. I wrote a small shell script to add this functionality to Asterisk."

23. CallerIDpop Perl Script

This Perl script polls a Linksys or Sipura VoIP adapter or phone once per second, and when a call arrives it displays a popup notification (Caller Name, Caller Number, Line called, Date and Time) using an existing notification system - for example, on Mac OS X it uses the popular Growl notifications system, on Win32 systems it uses Snarl, and on Linux systems it uses libnotify. There is a separate script and instruction file for each of the mentioned operating systems, and because it is a Perl script it would be easy to modify if it doesn't quite meet the user's needs as is. At present it will take its options from command line arguments or from a configuration file, and there's an option to send received Caller ID data to log files (plain text or comma-quote delimited), although the logs are somewhat limited since they only show calls that actually reach the adapter. This might be a solution for Linksys/Sipura endpoints that for one reason or another cannot connect directly to the Asterisk server to receive Caller ID notifications using one of the other methods shown here.

24. DialApplet


If you dispose over tools like CRM (Customer Relationship Management), ERP (Enterprise rescource Planung) or another database with general dates, we can intergrate them in phone events, making the fusion of voice and data of your actual applications more effective. In the moment of answering the phone, for outgoing just as for incoming calls, any application you want opens automatically in any of the following ways:

- Open an URL: DialApplet opens the url you want in your preset browser with the following parametres: telephone number, extension and the uniqueid of the call provided from Asterisk.
- Execute a program: ...from your PC with the following parametres: telephone number, extension and uniqueid of the call provided from Astersik.
- Send a message through a socket: DialApplet connects itself with the IP and the port you want and send the message you want with the following parametres: telephone number, extension and the uniqueid of the call provided from Asterisk.

More: DialApplet,

25. AsteriskCallNotification


AsteriskCallNotification is a small OS X application that displays the number of the caller onscreen. The number is looked up in the local address book. If a contact is found the name and contact photo are displayed. If no match was found in the address book the number is looked up in the swiss telephone database (tel.search.ch) and the name displayed.

More: AsteriskCallNotification,

26. Asterisk+Twitter


For more information about this, please see Asterisk+Twitter, but the basics are:

First, you’ll need an AGI script. Look, here’s one I prepared earlier - twitter.agi

#!/bin/bash
# Background the curl process incase twitter doesn't respond. It will hang the dialplan.
curl -u username:PASSWORD -d text="$1" \
-d user="recipient" \
http://twitter.com/direct_messages/new.xml &

Put the script in /var/lib/asterisk/agi-bin. Don’t forget to chmod +x the script as well.

Pretty simple eh? The only things you’ll have to change in the script are

  • username = your twitter login name
  • PASSWORD = your twitter password
  • recipient = Who will get your direct message

Ok, and to make it work in Asterisk I put this in the extensions.conf file for the exten that I wanted to monitor:

[home_phone]
exten => s,1,NoOp("This is my home phone context")
exten => s,n,Set(_DIDNUM="PUT YOUR DID NUM HERE")
exten => s,n,LookupCIDName
exten => s,n,AGI(twitter.agi|PBX: ${CALLERID(all)} just called on ${EXTEN})

I’ve only shown the first bits of this context, after this is your normal context such as DIAL or whatever else you might now. I actually build in a few seconds of delay to allow the text message a chance to get to my phone before the phone rings. A sort of early warning system :)


27. VoipOperator - Free Asterisk call notification and dialer for Windows

VoipOperator is a flexible, easy to use and install utility for Windows thar displays the incoming and outgoing calls of your PBX and assists you dial.

  • Call notification
    • Notifies for incoming and outgoing calls and displays the phone number.
  • Caller identification
    • Displays the caller name for incoming and outgoing calls from PBX dictionary or private phonebook.
  • Call History
    • Displays history of incoming and outgoing calls.
  • Private phonebook
    • Used for dialing and caller identification.
    • Search entering any part of the name or number.
  • Phone dialer
    • Dial from the PC entering the number.
    • Dial from the phonebook.
    • Dial numbers from history.

VoipOperator runs on Windows XP, Vista, 2000 and Windows 7 and is compatible with Asterisk and other Asterisk based PBXs like Trixbox, Elastix.

28. InGenius Connector - Search-and-Dial PC app with incoming caller ID screen pop.


  • Compatible with Polycom IP Phones or any phone connected to an Asterisk Switch
  • Incoming caller ID screen-pop with automated contact pop and desktop search
  • MS Outlook, Active Directory and LDAP integration
  • Integrated web searches with Google Maps and Google Search
  • Small toolbar and tray icon interface
  • Optional integrated Softphone, same search capabilitie and unobtrusive UI
  • Serverless PC install, mass deployment capabilities
  • Network-aware
  • Integrates with CRMs via optional TAPI plug-in

For more info: http://www.ingeniusconnector.com

29. Thirdlane Dialer


Free dialer and screen-pop application for Asterisk based PBXs. Integrated with Thirdlane PBX and Thirdlane PBX MTE, MS Outlook, any web based CRM, dual-mode - floating or Outlook toolbar, supports callto URLs.

30. pyCalledMe


Simple Caller ID popup script for Linux.

31. Perl scripts for use with Asterisk to send notifications to computers that can receive and display network Growl notifications (using Growl or Growl for Windows) or that use the Notify OSD notification system (such as Ubuntu Linux).


The original script was intended to be used where the computer on which you want to receive the notifications is running Growl (under Mac OS X), Growl for Windows, or Mumbles under Linux, and where Growl or Mumbles is configured to receive network notifications. The newer script provides similar notifications using an SSH connection to a computer running Notify OSD (typically a Ubuntu Linux machine), although it can be used with any of your systems that have a way to invoke a notification from the command prompt (using a program such as notify-send or growlnotify).

32 ICTBroadcast is a web based multi tenant Voice, Email, SMS & Fax broadcasting / telemarketing software solution for SMB's and ITSP

ICTBroadcast is capable to work with multiple type of Gateways including re-known open source Asterisk, Freeswitch and Kannel. ICT Broadcast can be scaled to blast thousands of simultaneous calls using either VoIP using SIP / IAX, FOIP using T.38 / G.711 or PSTN. It is simple reliable and user friendly web portal to manage.

ICT Broadcast platform support following type of campaigns.
Simple Voice Broadcasting )
Voice Broadcasting with Live agents support )
Interactive Voice Broadcasting)
Survey / Polls )
Inbound IVR campaigns)
SMS Broadcasting (SMS Module )
Fax Broadcasting (Fax Module )

How Voice Broadcasting works
User upload a list of telephone numbers, upload audio message , configure outbound voice gateways and start a new campaign according to requirements using ICT Broadcast web interface and within seconds ICT Broadcast will start broadcasting user's voice message to given list of telephone numbers with real time statistics presenting through web interface .

ICT Broadcast Features

For more detail please visit ICT Innovations web site

ICTBroadcast is developed by ICT Innovations

33. callPopPy

is a cross platform caller ID popup written in Python. CallPopPy can lookup up incoming numbers in an SQLite database and display the caller's name. A separate utility, Squalit, is available to populate CallPopPy's database from Thunderbird address book. Squalit is a Thunderbird extension. It would be possible to write other utilities to integrate callPopPy with other PIMs

34. How to send various types of notifications on an incoming call in FreePBX

is written specifically for FreePBX users, although with a bit of tweaking the examples shown could be used with native Asterisk. Covers topics such as how to send an e-mail or SMS message, how to send notifications to XBMC or Boxee, and how to send notifications only on "missed" calls rather than all calls.

See also



Go back to Asterisk GUI

Created by: JustRumours, Last modification: Thu 01 of Dec, 2016 (15:28 UTC) by victor
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+