Elwin Andriol
2005-Feb-09 14:05 UTC
[Asterisk-Users] How to map zap channels to ISDN extensions on queues?
I need to determine the state of extensions/port based on active channels on my asterisk. For SIP and AIX extensions this is not a real problem because the channel names they create relate to the SIP/AIX extensions (just strip the '-' sign and anything after). For ISDN extensions addressed by Zap, it turned out problematic. As I figured out there'se no direct relation between a Zap channel (name) and the ISDN extension currently occupying it. The actual problem is this. I have a queue where I dynamically add/remove interfaces to/from. My queue may look something like this: helpdesk has 0 calls ..... Members: SIP/port1 (dynamic) has taken no calls yet ZAP/g1/100 (dynamic) has taken no calls yet ZAP/g1/200 (dynamic) has taken no calls yet No Callers When some one is calling my queue and is being bridged to one of the ISDN members, I want to know which extension it got bridged to (zap/g1/100 or zap/g1/200). I can't seem to figure it out based on the Zap channel to the member extension, neighter based on the incomming channel. I've tried to based on several sources: - show channels (CLI) - show channel (CLI) - events information (Asterisk Manager API) Neither of those appear to help me determine wich ISDN extension are in use. I figured out that in case a call is being bridged to a queue member, the caller channel's CDR contains the value I want to have (e.g. zap/g1/100). It's stored in the lastappdata field. The problem is that the CDR is written after the call is being terminated. I need it preferabely as soon as the extension at zap/g1/100 starts ringing. Looking at the source code of asterisk, I believe to have figured out that CDR data is internally being stored within any channel object. Now the big question is, if this data is accessable from a CLI or Asterisk Manager API (telnet)? Does anybody recognize the above problem? Is there a clean solution? Is the real solution to the problem writing something like a zap channel tracker (patch)? TIA, Elwin -- ----------------------------------------------------------------------- HeuvelTop ICT Diensten v.o.f. Elwin Andriol tel: +31 65 08 134 91 Utrecht, Nederland fax: +31 30 602 22 71 ----------------------------------------------------------------------- "There are management solutions to technical problems, but no technical solutions to management problems" -----------------------------------------------------------------------