blind transfer from AGI triggered call -> dropped

Home » Asterisk Users » blind transfer from AGI triggered call -> dropped
Asterisk Users No Comments

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@pbx000001:1] Set(“SIP/0010333-00000069”,
“__TRANSFER_CONTEXT=pbx000001”) in new stack
[2011-03-13 09:51:54] VERBOSE[4699] pbx.c: — Executing
[101@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@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: —
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: —
AGI Script a2billing.php completed, returning -1
[2011-03-13 09:52:05] VERBOSE[4699] pbx.c: — Executing
[h@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