Asterisk call transfer on DAHDI channells

2.2k views Asked by At

enter image description here

All channels on Asterisk configured as DAHDI channels.After customer make payment I want to transfer the customer to the representative who interact customer before.

I try to make it by Dial() command. This is the dialplan

exten => s,1,Set(TRFNUM=${CALLERID(num)})
exten => s,2,Set(TRFNAME=${CALLERID(name)})
exten => s,3,AGI(agi://192.168.7.20/customivr)
exten => s,4,Dial(DAHDI/1/${TRFNUM}&DAHDI/2/${TRFNUM}&DAHDI/3/${TRFNUM}&DAHDI/4/${TRFNUM}&DAHDI/5/${TRFNUM}&DAHDI/6/${TRFNUM}&DAHDI/7/${TRFNUM}&DAHDI/8/${TRFNUM},30)
exten => s,5,Hangup

For example: Call comes to DAHDI/1 after the payment DAHDI/1 dial all channels one them Answer the others Hangup. DAHDI/1 bridge call by with DAHDI/2. However, although Customer and representative close phones, Channels do not Hangup. They stay Busy.

Where do i make mistake. I should hangup call channels or find another way to transfer.

1

There are 1 answers

0
Toto On

It seems to be configured correctly, I think your AGI script hangup the call when he finishes his work, It can happen if you have $agi>hangup in the end, or if you make any outputs in the scripts (echo, print_r, etc...), even empty spaces output can cause this behavior,

another thing you can try is make the Dial command from the agi itself using:
agi->exec("Dial","options");