0

I'm doing a simple call program for a CRM for a client, and I'm having trouble with their phone system. They have a Cisco IP phone system that has internal routing, and when I execute the following code, I always get '9900' as the caller ID number. Is there any way to get the routed number? I'm mostly new to TAPI, so thanks in advance for your help.

cn = tapi.RegisterCallNotifications(line, true, true, TAPI3Lib.TapiConstants.TAPIMEDIATYPE_AUDIO, 2);
if (cn.Call.CallState == TAPI3Lib.CALL_STATE.CS_OFFERING){
string c = cn.Call.get_CallInfoString(TAPI3Lib.CALLINFO_STRING.CIS_CALLERIDNUMBER);
}

Aaron Brake

Aaron Brake
  • 360
  • 1
  • 10

2 Answers2

0

I am not familiar with this system and it may be a long shot but have you tried looking at the ConnectedIdNumber (also in the CallInfo structure). This value will probably not be filled until the call is accepted (is not equal to being answered) but is it does show the correct calling line identifier it may still some your problems... Good luck!

SpaghettiCook
  • 673
  • 4
  • 14
  • Hi, sorry it's taken a bit to get back to you. Had to work on some other things. I tried ConnectedIdNumber and it's returning the number that is being called, that is, my extension. I also tried some other numbers from the CallInfo structure but none of them worked either. Most of them returned E_FAIL results for some reason, actually. Thanks for the idea though. – Aaron Brake Feb 19 '13 at 12:45
  • Correction -- ConnectedIdNumber is returning an Error, not the target number. I had my structures mixed up. Sorry. – Aaron Brake Feb 19 '13 at 14:05
0

Kind of an old question, so I hope you found your answer, but just for posterity I did similar work against a UCCM phone system, and found a key limitation when the system uses UCCX for call queue/huntline management.

When using UCCX, the actual incoming call to the line is "parked" on one of a set of extensions set up by the UCCX layer for this purpose. When the call is then forwarded to a call center agent's line, the events visible to software on a TAPI client watching that line get the extension that UCCX uses to park the call as the caller ID, instead of the original external number. I could never find out how to use TAPI to get the number behind the original call, however UCCX keeps track, and so our eventual solution was simply to create a script in UCCX which would use the correct source number to query our database for more advanced CID information (which was the point of the original TAPI application, originally designed for use against a "vanilla" UCCM 800 block).

KeithS
  • 70,210
  • 21
  • 112
  • 164