Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

How to program an Attendant Console / Recepcionist Program

I want to develop an Attendant Console/ recepcionist program so an operator can handle all incoming calls, check the status (busy, free, etc) of the internal externals and be able to trasnfer calls.

I already did a similar program on other PBX (I did at on Asterisk, that has an AMI interface, so you can intercept events on the PBX, see who is talking, do calls, etc...) But I do not known what programig APIs I have to interface with Cisco Call Manager...

Of course, I known that there is a TAPI than can interface with CISCO, but using that TAPI would require me to add all 100 extensions to the TAPI configuration.... I need something at more low level, something that I can use to interact directly with Cisco Call Manager, on a similar way to AMI on Asterisk, or direct programming.

COuld any one give me a hint and forward me to the right point to look for information ? What kind or programming interfaces that Call Manager has ? How would you implement a CTI solution without using a layer as TAPIs ?

It would also help to known similar solutions already at the market an if the are built on top of TAPI or not...


New Member

Re: How to program an Attendant Console / Recepcionist Program

When you are using Cisco Call Manager (or Communications Manager) and not Call Manager Express you should use the Cisco TSP.

When installing/configuring Cisco TSP (Telephony Service Provider) you have to enter a username and password from a specific user. This is a user created in the Call Manager who has one or more lines (depends on what / how many lines you want).

You you only need to install TSP, create User (application user) and associate lines with this user: Device Association.

Then you will need to write a program which will be able to use TAPI. The Cisco TSP will be between your TAPI and Call Manager and passes all the lines + events to your program. You are also able to 'control' the lines, so you can forward them etc..

Hope this helps a bit!

New Member

Re: How to program an Attendant Console / Recepcionist Program

Yes, I understand the concept of TAPI and how to program it.

My concern is about doin an Attendant Program.. If I have to check the status of 300 lines (so the operator knows if the person is busy on the phone o no), by example, I would need to add 300 devices to a single TSP pc!! An if a new extension/line is setup, I would need to go again to the TSP and add that line. That migth be a nigthmare!!

From other PBXs, as Asterisk, I known there exist another more low level API, that I can use to connect diretly to the PBX and check events (ie,hangup of a line) and even force commands. Of course, on Asterisk I can also se TAPI, anoher layers more easy to program, but I would lose the flexivity that I was mentionating before.

Either I do not understand correctly TAPI (I need to add the 300 devices to check the status from a single line?), or it should be another mechanism to program Call Manager...

In fact.. are current attendant operator programs on the market based alo on TAPI or are he using a different approach ?

thks for your reply

New Member

Re: How to program an Attendant Console / Recepcionist Program

I think you have a miss understanding about the Cisco TSP.

Yes, you have to install on each PC Cisco TSP and configure it with the correct username and password (will take 1minute!) You only need to install TSP on each PC who wants to use your programm, or you need some kind of client/server software approach. Then then only the server application needs TSP installed.

You will use the same username and password on each pc when installing and configuring TSP.

This user is know by the Call Manager, and has associated lines. When you add a new line to this user via the webinterface of the Call Manager each pc which has TSP installed with this user receives a new LineAdded event.

So you only need to update the lines of the specified user in the Call Manager and ALL the pc with Cisco TSP installed on it will receive a LineAdded event. The same with removing lines.

All LineEvents (like, offering, accepted, ringen, callback, connected etc...) will be send to all pc with Cisco TSP installed. This TSP acts as an extra layer between the Cisco Call Manager and TAPI, so TAPI will receive those events via Cisco TSP.

For as fas as I know this is the only correct approach, using Cisco TSP and configure a user in the Call Manager with device associations.


Re: How to program an Attendant Console / Recepcionist Program

Hi Guys,

The way I understand this... and I'm not an expert in this field.

TAPI is for first party control. So it is definitely not the right tool for the job here.

You should be using JTAPI here.. it can monitor and control hundreds or even thousands of lines through a single user.. this is how Cisco ICM / IPCC controls and monitors agent phones.

Start here -

You also have AXL available in CallManager.. but it is a provisioning tool mainly.. you should be careful about what you ask it to do and when :) - but in a console program maybe you want to do some directory syncing or extract phone or user details.. this could be helpful there.



Re: How to program an Attendant Console / Recepcionist Program

Well, you can do third party call control with TAPI as well.. most third party softwares use it, although the recent disaster we have with TAPI and CCM 6.1.x and extension mobility would make me very wary to recomment TAPI (I know some third party vendors are moving away from TAPI).

The principle here would be to have a CTI Routepoint which you monitor and where you have incoming calls (so that's where you basically queue calls.. RPs can deal with many concurrent calls), then route the call to an attendant phone when it becomes available.

I'd use a server/client approach where you have some client software providing whatever functionality the attendant needs running on the attendant PC (or the phone if you like.. it just might be a bit awkward so I suggest that if you go the phone route you just have login/loguot/busy options on the phone) - the server monitors the RP, queues and routes calls and talks to the clients in order to know to whom a call can be routed.