Looking for ideas and comments on my strategy for getting a bit of custom data into the CDR. It seems to work OK, but I'm open to better and/or more robust ways to do it.

Problem: get the customerid of the caller from our application into the CDR

Approach:
Before the Queue() command, save the caller's channel name in a varible _MMCALLERCHANNEL

In the Queue() connect macro, send that channel name along with other info to the application

The application determines the customerid and uses AMI Setvar to set variable MMCUSTOMERID on the given channel with the customerid. (Can't use AGI in-line because the customer will be determined by an actual human sitting at a terminal during the call and may take a while.)

In the hangup extension, set CDR(customerid) to value of MMCUSTOMERID

Here is the code that is working

[queues]
exten =>sales,1,Verbose(2,${CALLERID(all)} entering the sales queue)
  same =>n,Set(_MMCALLERCHANNEL=${CHANNEL(name)})
  same =>n,Queue(sales,t,,,,,QueueConnected)
  same =>n,Hangup()
exten =>h,1,NoOp(When a sales queue call is hung up)
  same =>n,Set(CDR(customerid)=${MMCUSTOMERID})

[macro-QueueConnected]
exten =>s,1,NoOp()
  same =>n,Monitor(wav,,mb)
same =>n,Set(OPERATORID=${ODBC_OPERATORID_FROM_ADDRESS(${MEMBERINTERFACE})}) ; userfield is mapped to operatorid in cdr_adaptive_odbc because setting operatorid directly doesn't work here
  same =>n,Set(CDR(userfield)=${OPERATORID})
  ; passes the call to the application
same =>n,System(${MMAGI}/queue_action.sh action:connect,queue:sales,member_interface:\\"${MEMBERINTERFACE}\\",member_name:\\"${MEMBERNAME}\\",cidnum:\\"${CONNECTEDLINE(num)}\\",cidname:\\"${CONNECTEDLINE(name)}\\",uniqueid:\\"${MMLINKEDID}\\",channel:\\"${MMCALLERCHANNEL}\\")




--

Mitch


--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
              http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to