Nick Ustinov
2011-Mar-17 15:36 UTC
[asterisk-users] blind transfer from AGI triggered call -> dropped
Hi! Maybe someone could help me out? When a call is routed via a2billing AGI and user does a transfer, the call is dropped. If the trunk is called directly everyhing works. Here's a direct scenario (working fine): [pbx000001] exten => 101,1,Set(__TRANSFER_CONTEXT=pbx000001) exten => 101,n,Dial(SIP/pozitel/37129238254,45,t) exten => 102,1,Dial(SIP/12345,60) so, when user calls ext 101 he gets connected to 37129238254 and after pressing # and 102# gets connected to ext SIP/12345. With a2billing (called via AGI), after pressing # and 102# the call gets dropped and no xfer is made: [pbx000001] exten => 101,1,Set(__TRANSFER_CONTEXT=pbx000001) exten => 101,2,Goto(a2billing,37129238254,1) exten => 102,1,Dial(SIP/12345,60) [a2billing] exten => _X.,1,AGI(a2billing.php,8) Naturally, a2billing is also Dialing with "t" parameter. [2011-03-13 09:51:54] VERBOSE[4699] pbx.c: -- Executing [101 at pbx000001:1] Set("SIP/0010333-00000069", "__TRANSFER_CONTEXT=pbx000001") in new stack [2011-03-13 09:51:54] VERBOSE[4699] pbx.c: -- Executing [101 at pbx000001:2] Goto("SIP/0010333-00000069", "a2billing,37129238254,1") in new stack [2011-03-13 09:51:54] VERBOSE[4699] pbx.c: -- Goto (a2billing,37129238254,1) [2011-03-13 09:51:54] VERBOSE[4699] pbx.c: -- Executing [37129238254 at a2billing:1] AGI("SIP/0010333-00000069", "a2billing.php,8") in new stack [2011-03-13 09:51:54] VERBOSE[4699] res_agi.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/a2billing.php [2011-03-13 09:51:55] VERBOSE[4699] res_agi.c: -- AGI Script Executing Application: (DIAL) Options: (SIP/pozitel/37129238254,60,tTL(34980000:61000:30000)) [2011-03-13 09:51:55] VERBOSE[4699] netsock.c: == Using UDPTL TOS bits 184 [2011-03-13 09:51:55] VERBOSE[4699] netsock.c: == Using UDPTL CoS mark 5 [2011-03-13 09:51:55] VERBOSE[4699] netsock2.c: == Using SIP RTP TOS bits 184 [2011-03-13 09:51:55] VERBOSE[4699] netsock2.c: == Using SIP RTP CoS mark 5 [2011-03-13 09:51:55] VERBOSE[4699] app_dial.c: -- Called pozitel/37129238254 [2011-03-13 09:51:56] VERBOSE[4699] app_dial.c: -- SIP/pozitel-0000006a is making progress passing it to SIP/0010333-00000069 [2011-03-13 09:52:00] VERBOSE[4699] app_dial.c: -- SIP/pozitel-0000006a answered SIP/0010333-00000069 [2011-03-13 09:52:00] DEBUG[4699] channel.c: setting peeraccount to 10000000037 for SIP/0010333-00000069 from data on channel SIP/pozitel-0000006a [2011-03-13 09:52:02] VERBOSE[4699] res_musiconhold.c: -- Started music on hold, class 'default', on SIP/0010333-00000069 [2011-03-13 09:52:02] VERBOSE[4699] file.c: -- <SIP/pozitel-0000006a> Playing 'pbx-transfer.gsm' (language 'en') [2011-03-13 09:52:05] VERBOSE[4699] res_musiconhold.c: -- Stopped music on hold on SIP/0010333-00000069 [2011-03-13 09:52:05] DEBUG[4699] features.c: transferer=SIP/pozitel-0000006a; transferee=SIP/0010333-00000069; lastapp=; lastdata=; chan=SIP/pozitel-0000006a; dstchan[2011-03-13 09:52:05] DEBUG[4699] features.c: TRANSFEREE; lastapp=Dial; lastdata=SIP/pozitel/37129238254,60,tTL(34980000:61000:30000), chan=SIP/0010333-00000069; dstchan=SIP/pozitel-0000006a [2011-03-13 09:52:05] DEBUG[4699] features.c: transferer_real_context=pbx000001; xferto=102 [2011-03-13 09:52:05] DEBUG[4699] features.c: ABOUT TO AST_ASYNC_GOTO, have a pbx... set HANGUP_DONT on chan=SIP/0010333-00000069 [2011-03-13 09:52:05] VERBOSE[4699] res_agi.c: -- <SIP/0010333-00000069>AGI Script a2billing.php completed, returning -1 [2011-03-13 09:52:05] VERBOSE[4699] pbx.c: -- Executing [h at pbx000001:1] Hangup("SIP/0010333-00000069", "") in new stack [2011-03-13 09:52:05] VERBOSE[4699] pbx.c: == Spawn extension (pbx000001, h, 1) exited non-zero on 'SIP/0010333-00000069' Tnx! Nick