About AsteriskPhoneAgent

Asterisk Phone Agent (APA) is a Computer Telephony Integration (CTI) application that integrates with your Asterisk PBX, and allows you to perform various phone operations from your PC.


Contact List

Make calls easily by using a customizable contact list that is displayed on your PC monitor. Now you can find the necessary contact in no time.

Call notification

When you receive a call, the information about the caller is automatically displayed on your monitor provided that the caller is registered in the contact list. Otherwise you can add a new contact in one click.

Contact Lists synchronization

Contact Lists are synchronized from the server installed on your network. Multiple users can share common contact lists.

Outgoing calls

You can make calls directly from Asterisk Phone Agent. For a call to originate from your Asterisk PBX, first call your phone, and then answer the dialed number.

Call History

You can view your incoming and outgoing call history. Among other things, you can check the date and time, duration, and destination of each call.

Call Control

Each time a conversation starts, operation buttons are automatically displayed on your PC monitor for various telephone functions, such as transferring a call, holding a call, and making a conference call.

Call center

APA requests the URL from the server and opens that URL in your browser. The URL is based on the received Caller ID, the caller's phone number, and the user's phone number. The URL can be opened on an incoming call, or after the call has been answered.



Install AsteriskPhoneAgent to server with Elastix 2.5. Tested with Asterisk 1.8, 10, 11

1. Create MySQL DB tables

`callerid` int(11) NOT NULL auto_increment,
`fio` varchar(100) NOT NULL,
`organization` varchar(100) default NULL,
`department` varchar(100) default NULL,
`position` varchar(100) default NULL,
`mainphone` varchar(20) NOT NULL,
`cellphone` varchar(20) default NULL,
`workphone` varchar(20) default NULL,
`email` varchar(50) default NULL,
`note` longtext,
`important` tinyint(4) default '0',
`personal` varchar(20) NOT NULL,
`callercreator` varchar(20) NOT NULL,
`datecreate` datetime default NULL,

`deleted` tinyint(4) default '0',
PRIMARY KEY (`callerid`),
KEY `fio` (`fio`,`mainphone`)

CREATE TABLE IF NOT EXISTS `callerschange` (
`chdatetime` datetime default NULL

If need, add some data to 'Callers'

INSERT INTO `callers` (`callerid`, `fio`, `organization`, `department`, `position`, `mainphone`, `cellphone`, `workphone`, `email`, `note`, `important`, `personal`, `callercreator`, `datecreate`, `deleted`) VALUES
(1, 'Kayden Acosta', 'Brand Inc.', 'Sales', 'Manager', '5554443331', '3554243221', NULL, 'sales@brand.com', '', 0, 'ALL', '', '2016-01-22 09:09:52', 0),
(2, 'Hayden Oconnell', 'Brand Inc.', 'Sales', 'Manager', '5554443331', '3554243221', NULL, 'sales@brand.com', '', 0, 'ALL', '', '2016-01-22 09:09:52', 0);
INSERT INTO callerschange (chdatetime) VALUES ('2012-12-07 10:45');

You can run this script in mysql console or via phpmyadmin.

2. Configuration access

Edit manager.conf like this:

secret = passwd1
deny =
permit =
read = all
write = command,originate,call

Where "permit =" your local network address. After change run:

asterisk -rx "manager reload"

Now you are ready to install windows client.