I have had a similar issue. I've tracked it down the the "masquerade" done by the Meetme App. In Vicidial, they have a workaround, but it's ... COMPLEX involving screens and reassigning the context/exten/pri of the running script into the "masqueraded" channel at the moment it moves. But there's more.
They also use the callerid name for permanent tracking and run their script more than once (so it can detach and come back later).
I am presently trying to combine the two (Vicidial is a Predictive AutoDialer and is EXCELLENT, when combined with A2Billing ... well, you get the idea).
But for my purposes, I can't use their solution, it's already in use, unless I piggyback on their script and re-execute the A2B script afterwards. I'd prefer to find another solution (run a script to track the meetme until IT dies, then return to finish the billing ...).
Any ideas?
Thanks in advance!
Bill
code (from the moment the call is answered until the charges are calculated, and NO the call hasn't been terminated, as you can see from the timestamp this all happens within the same second, the call is still Active):
Feb 24 17:44:09 VERBOSE[24580] logger.c: > Channel Local/73001@default-d02e,1 was answered.
Feb 24 17:44:09 DEBUG[24580] manager.c: Manager received command 'Logoff'
Feb 24 17:44:09 VERBOSE[24580] logger.c: == Manager 'sendcron' logged off from 127.0.0.1
Feb 24 17:44:09 DEBUG[15193] devicestate.c: Changing state for Local/73001@default - state 2 (In use)
Feb 24 17:44:09 DEBUG[15193] devicestate.c: Changing state for Local/73001@default - state 2 (In use)
Feb 24 17:44:09 DEBUG[24646] app_queue.c: Device 'SIP/192.168.10.62' changed to state '2' (In use) but we don't care because they're not a member of any queue.
Feb 24 17:44:09 DEBUG[24647] pbx.c: Launching 'MeetMe'
Feb 24 17:44:09 DEBUG[24648] app_queue.c: Device 'Local/73001@default' changed to state '2' (In use) but we don't care because they're not a member of any queue.
Feb 24 17:44:09 DEBUG[24649] app_queue.c: Device 'Local/73001@default' changed to state '2' (In use) but we don't care because they're not a member of any queue.
Feb 24 17:44:09 VERBOSE[24647] logger.c: -- Executing MeetMe("Local/73001@default-d02e,1", "8600051") in new stack
Feb 24 17:44:09 VERBOSE[24647] logger.c: == Parsing '/etc/asterisk/meetme.conf': Feb 24 17:44:09 DEBUG[24647] config.c: Parsing /etc/asterisk/meetme.conf
Feb 24 17:44:09 VERBOSE[24647] logger.c: == Parsing '/etc/asterisk/meetme.conf': Found
Feb 24 17:44:09 VERBOSE[24647] logger.c: == Parsing '/etc/asterisk/meetme_additional.conf': Feb 24 17:44:09 DEBUG[24647] config.c: Parsing /etc/asterisk/meetme_additional.conf
Feb 24 17:44:09 VERBOSE[24647] logger.c: == Parsing '/etc/asterisk/meetme_additional.conf': Found
Feb 24 17:44:09 VERBOSE[24647] logger.c: == Parsing '/etc/asterisk/meetme_custom.conf': Feb 24 17:44:09 DEBUG[24647] config.c: Parsing /etc/asterisk/meetme_custom.conf
Feb 24 17:44:09 VERBOSE[24647] logger.c: == Parsing '/etc/asterisk/meetme_custom.conf': Found
Feb 24 17:44:09 DEBUG[24647] chan_zap.c: Using channel -2
Feb 24 17:44:09 DEBUG[15193] devicestate.c: Changing state for Zap/pseudo - state 2 (In use)
Feb 24 17:44:09 DEBUG[24650] app_queue.c: Device 'Zap/pseudo' changed to state '2' (In use) but we don't care because they're not a member of any queue.
Feb 24 17:44:09 VERBOSE[24647] logger.c: -- Created MeetMe conference 1023 for conference '8600051'
Feb 24 17:44:09 DEBUG[24647] channel.c: Set channel Local/73001@default-d02e,1 to write format gsm
Feb 24 17:44:09 DEBUG[24582] rtp.c: Ooh, format changed from unknown to ulaw
Feb 24 17:44:09 DEBUG[24647] channel.c: Scheduling timer at 160 sample intervals
Feb 24 17:44:09 VERBOSE[24647] logger.c: -- Playing 'conf-onlyperson' (language 'en')
Feb 24 17:44:09 DEBUG[24582] channel.c: Planning to masquerade channel SIP/192.168.10.62-081d1e18 into the structure of Local/73001@default-d02e,1
Feb 24 17:44:09 DEBUG[24582] channel.c: Done planning to masquerade channel SIP/192.168.10.62-081d1e18 into the structure of Local/73001@default-d02e,1
Feb 24 17:44:09 DEBUG[24582] chan_local.c: Not posting to queue since already masked on 'Local/73001@default-d02e,2'
Feb 24 17:44:09 DEBUG[24647] channel.c: Actually Masquerading SIP/192.168.10.62-081d1e18(6) into the structure of Local/73001@default-d02e,1(6)
Feb 24 17:44:09 DEBUG[24647] channel.c: Got clone lock for masquerade on 'SIP/192.168.10.62-081d1e18' at 0x813b084
Feb 24 17:44:09 DEBUG[24582] channel.c: Didn't get a frame from channel: Local/73001@default-d02e,2
Feb 24 17:44:09 DEBUG[24582] channel.c: Bridge stops bridging channels Local/73001@default-d02e,2 and SIP/192.168.10.62-081d1e18<MASQ>
Feb 24 17:44:09 DEBUG[24647] channel.c: Set channel SIP/192.168.10.62-081d1e18 to write format gsm
Feb 24 17:44:09 DEBUG[24647] channel.c: Set channel SIP/192.168.10.62-081d1e18 to read format slin
Feb 24 17:44:09 DEBUG[24647] channel.c: Putting channel SIP/192.168.10.62-081d1e18 in 2/64 formats
Feb 24 17:44:09 DEBUG[24647] channel.c: Released clone lock on 'Local/73001@default-d02e,1<ZOMBIE>'
Feb 24 17:44:09 DEBUG[24582] channel.c: Hanging up zombie 'Local/73001@default-d02e,1<ZOMBIE>'
Feb 24 17:44:09 DEBUG[15193] devicestate.c: Changing state for Local/73001@default - state 2 (In use)
Feb 24 17:44:09 DEBUG[24582] app_dial.c: Exiting with DIALSTATUS=ANSWER.
Feb 24 17:44:09 DEBUG[24651] app_queue.c: Device 'Local/73001@default' changed to state '2' (In use) but we don't care because they're not a member of any queue.
Feb 24 17:44:09 DEBUG[24647] channel.c: Done Masquerading SIP/192.168.10.62-081d1e18 (6)
Feb 24 17:44:09 VERBOSE[24582] logger.c: a2billing.php: file:Class.RateEngine.php - line:1154 - -> dialstatus : ANSWER, answered time is 0
At this point, the A2B rating engine does its thing and bills the call, since as far as it is concerned the call has terminated. But it hasn't ... the Meetme app has just killed the Zombie channel (after transferring the sound into another channel in the conference), and with it dies the "Dial" command that was executed by a2billing.php.