"CID Num Alias" dosen't work with Attented transfert

Hi,

I have tested the “CIS Num Alias”, it work perfect with direct dial , but dose’nt work with Att. transfert.

============================
Numbers used:

Receptionist: 112 (CID Num Alias 88111)
User 113: 113
User 114: 114
User 115: 115
Reception Queue: 88111

============================
Exemple:

1 - User 113 call the Queue 88111
2 - The recpetionist Answer the call
3 - The recpetionist transfert the call (Att. transfert) to extension 114
4 - In phone 114 we receive the call from extension “<112>” and not <88111>
So if the 114 miss the call and redial, He will redial extension 112 and not the Queue 88111

============================
This exemple work as expect:

1 - The receptionist call extension 114
2 - The user 114 missed the call and redial, he will redial <88111>

============================
Version:

Elastix: 1.6.13
FreePBX: FreePBX 2.5.2.2 (also tested with last Stable)
Asterisk: 1.4.28

Someone have a workaround to make it work?
Regards

Frederic

interesting, usually attended transfers see the CID of the person who is transferring the call vs. the original caller.

How are you doing your attended transfer as there are many options depending on the phone being used.

And you may want to search through a CLI trace with verbosity turned up to see if you find any useful information in the trace that may point to why it is doing that.

Hello,

Thanks for your interest Philippe,

I’m transfering call with Asterisk Feature (*2)
FreePBX setting: “In-Call Asterisk Attended Transfer”

I will post the trace in a separate reply.

I have localized the issue in the macro-user-callerid
If I comment this line of macro:
exten => s,n,GotoIf($["${CHANNEL:0:5}" = “Local”]?report)

The “CID Num Alias” is displayed correctly

Regards
Frederic

Re,

The Call trace when not working:

============================
Numbers used:

Receptionist: 112 (CID Num Alias 88111)
User 113: 113
User 114: 114
Reception Queue: 88111

============================
In this trace:

1 - 113 call 112
2 - 112 Answer the Call
3 - 112 transfert the call(*2) to 114
4 - 114 show “<112>” in CallerID, but not answer
5 - 112 hangup

============================
The Asterisk Trace:

-- Executing [112@from-internal:1] Macro("SIP/113-00000000", "exten-vm|novm|112") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/113-00000000", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/113-00000000", "AMPUSER=113") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/113-00000000", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/113-00000000", "1|Set|REALCALLERIDNUM=113") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/113-00000000", "AMPUSER=113") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/113-00000000", "AMPUSERCIDNAME=113") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/113-00000000", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/113-00000000", "AMPUSERCID=113") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/113-00000000", "CALLERID(all)="113" <113>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/113-00000000", "0|Set|CHANNEL(language)=") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/113-00000000", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/113-00000000", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/113-00000000", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("SIP/113-00000000", "Using CallerID "113" <113>") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/113-00000000", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/113-00000000", "VMBOX=novm") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/113-00000000", "EXTTOCALL=112") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/113-00000000", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("SIP/113-00000000", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("SIP/113-00000000", "RT=""") in new stack
-- Executing [s@macro-exten-vm:8] Macro("SIP/113-00000000", "record-enable|112|IN") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/113-00000000", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("SIP/113-00000000", "recordingcheck|20100310-170944|1268237384.0") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck

recordingcheck|20100310-170944|1268237384.0: Inbound recording not enabled
– AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] MacroExit(“SIP/113-00000000”, “”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“SIP/113-00000000”, “dial||tr|112”) in new stack
– Executing [s@macro-dial:1] GotoIf(“SIP/113-00000000”, “1?dial”) in new stack
– Goto (macro-dial,s,3)
– Executing [s@macro-dial:3] AGI(“SIP/113-00000000”, “dialparties.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
== Parsing ‘/etc/asterisk/manager.conf’: Found
== Parsing ‘/etc/asterisk/manager_additional.conf’: Found
== Parsing ‘/etc/asterisk/manager_custom.conf’: Found
== Manager ‘admin’ logged on from 127.0.0.1
dialparties.agi: Caller ID name is ‘113’ number is '113’
dialparties.agi: USE_CONFIRMATION: 'FALSE’
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is ‘none’
– dialparties.agi: Added extension 112 to extension map
– dialparties.agi: Extension 112 cf is disabled
– dialparties.agi: Extension 112 do not disturb is disabled
> dialparties.agi: extnum 112 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 112 has ExtensionState: 0
– dialparties.agi: Checking CW and CFB status for extension 112
– dialparties.agi: dbset CALLTRACE/112 to 113
– dialparties.agi: Filtered ARG3: 112
== Manager ‘admin’ logged off from 127.0.0.1
– AGI Script dialparties.agi completed, returning 0
– Executing [s@macro-dial:7] Dial(“SIP/113-00000000”, “SIP/112||tr”) in new stack
– Called 112
– SIP/112-00000001 is ringing
– SIP/112-00000001 is ringing
– SIP/112-00000001 is ringing
– SIP/112-00000001 answered SIP/113-00000000
– Started music on hold, class ‘default’, on SIP/113-00000000
– <SIP/112-00000001> Playing ‘pbx-transfer’ (language ‘en’)
– Executing [114@from-internal-xfer:1] Macro(“Local/114@from-internal-xfer-f6d4,2”, “exten-vm|novm|114”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“Local/114@from-internal-xfer-f6d4,2”, “user-callerid”) in new stack
– Executing [s@macro-user-callerid:1] Set(“Local/114@from-internal-xfer-f6d4,2”, “AMPUSER=112”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?report”) in new stack
– Goto (macro-user-callerid,s,10)
– Executing [s@macro-user-callerid:10] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:11] Set(“Local/114@from-internal-xfer-f6d4,2”, “__TTL=63”) in new stack
– Executing [s@macro-user-callerid:12] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,19)
– Executing [s@macro-user-callerid:19] NoOp(“Local/114@from-internal-xfer-f6d4,2”, “Using CallerID “” <112>”) in new stack
– Executing [s@macro-exten-vm:2] Set(“Local/114@from-internal-xfer-f6d4,2”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“Local/114@from-internal-xfer-f6d4,2”, “VMBOX=novm”) in new stack
– Executing [s@macro-exten-vm:4] Set(“Local/114@from-internal-xfer-f6d4,2”, “EXTTOCALL=114”) in new stack
– Executing [s@macro-exten-vm:5] Set(“Local/114@from-internal-xfer-f6d4,2”, “CFUEXT=”) in new stack
– Executing [s@macro-exten-vm:6] Set(“Local/114@from-internal-xfer-f6d4,2”, “CFBEXT=”) in new stack
– Executing [s@macro-exten-vm:7] Set(“Local/114@from-internal-xfer-f6d4,2”, “RT=”"") in new stack
– Executing [s@macro-exten-vm:8] Macro(“Local/114@from-internal-xfer-f6d4,2”, “record-enable|114|IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] AGI(“Local/114@from-internal-xfer-f6d4,2”, “recordingcheck|20100310-170952|1268237392.3”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20100310-170952|1268237392.3: Inbound recording not enabled
– AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] MacroExit(“Local/114@from-internal-xfer-f6d4,2”, “”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“Local/114@from-internal-xfer-f6d4,2”, “dial||tr|114”) in new stack
– Executing [s@macro-dial:1] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?dial”) in new stack
– Goto (macro-dial,s,3)
– Executing [s@macro-dial:3] AGI(“Local/114@from-internal-xfer-f6d4,2”, “dialparties.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
== Parsing ‘/etc/asterisk/manager.conf’: Found
== Parsing ‘/etc/asterisk/manager_additional.conf’: Found
== Parsing ‘/etc/asterisk/manager_custom.conf’: Found
== Manager ‘admin’ logged on from 127.0.0.1
dialparties.agi: Caller ID name is ‘unknown’ number is '112’
dialparties.agi: USE_CONFIRMATION: 'FALSE’
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is ‘none’
– dialparties.agi: Added extension 114 to extension map
– dialparties.agi: Extension 114 cf is disabled
– dialparties.agi: Extension 114 do not disturb is disabled
> dialparties.agi: extnum 114 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 114 has ExtensionState: 0
– dialparties.agi: Checking CW and CFB status for extension 114
– dialparties.agi: dbset CALLTRACE/114 to 112
– dialparties.agi: Filtered ARG3: 114
== Manager ‘admin’ logged off from 127.0.0.1
– AGI Script dialparties.agi completed, returning 0
– Executing [s@macro-dial:7] Dial(“Local/114@from-internal-xfer-f6d4,2”, “SIP/114||tr”) in new stack
– Called 114
– SIP/114-00000002 is ringing
– SIP/114-00000002 is ringing
– SIP/114-00000002 is ringing
– SIP/114-00000002 is ringing
– Executing [h@from-internal:1] Macro(“SIP/112-00000001”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/112-00000001”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/112-00000001”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/112-00000001”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/112-00000001”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/112-00000001’ in macro ‘hangupcall’
== Spawn h extension (from-internal, h, 1) exited non-zero on ‘SIP/112-00000001’
– Stopped music on hold on SIP/113-00000000
– <Local/114@from-internal-xfer-f6d4,1> Playing ‘beep’ (language ‘en’)
– Executing [h@macro-dial:1] Macro(“Transfered/SIP/113-00000000”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“Transfered/SIP/113-00000000”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“Transfered/SIP/113-00000000”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“Transfered/SIP/113-00000000”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“Transfered/SIP/113-00000000”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Transfered/SIP/113-00000000’ in macro ‘hangupcall’
== Spawn h extension (macro-dial, h, 1) exited non-zero on ‘Transfered/SIP/113-00000000’
== Spawn extension (macro-dial, s, 7) exited non-zero on ‘Transfered/SIP/113-00000000’ in macro ‘dial’
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on ‘Transfered/SIP/113-00000000’ in macro ‘exten-vm’
== Spawn extension (from-internal, 112, 1) exited non-zero on ‘Transfered/SIP/113-00000000’
– Executing [h@macro-dial:1] Macro(“SIP/113-00000000”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/113-00000000”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/113-00000000”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/113-00000000”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/113-00000000”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/113-00000000’ in macro ‘hangupcall’
== Spawn h extension (macro-dial, h, 1) exited non-zero on ‘SIP/113-00000000’
== Spawn extension (macro-dial, s, 7) exited non-zero on ‘Local/114@from-internal-xfer-f6d4,2’ in macro ‘dial’
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on ‘Local/114@from-internal-xfer-f6d4,2’ in macro ‘exten-vm’
== Spawn extension (from-internal-xfer, 114, 1) exited non-zero on ‘Local/114@from-internal-xfer-f6d4,2’
– Executing [h@macro-dial:1] Macro(“Local/114@from-internal-xfer-f6d4,2”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“Local/114@from-internal-xfer-f6d4,2”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“Local/114@from-internal-xfer-f6d4,2”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Local/114@from-internal-xfer-f6d4,2’ in macro ‘hangupcall’
== Spawn extension (macro-dial, h, 1) exited non-zero on ‘Local/114@from-internal-xfer-f6d4,2’
– Remote UNIX connection
– Remote UNIX connection disconnected


Best Regards
Frederic

Re,

Here the trace with this line commented in the marco “macro-user-callerid”:
;exten => s,n,GotoIf($["${CHANNEL:0:5}" = “Local”]?report)

Asterisk Trace:

-- Executing [112@from-internal:1] Macro("SIP/113-0000000b", "exten-vm|novm|112") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/113-0000000b", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/113-0000000b", "AMPUSER=113") in new stack
-- Executing [s@macro-user-callerid:2] ExecIf("SIP/113-0000000b", "1|Set|REALCALLERIDNUM=113") in new stack
-- Executing [s@macro-user-callerid:3] Set("SIP/113-0000000b", "AMPUSER=113") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/113-0000000b", "AMPUSERCIDNAME=113") in new stack
-- Executing [s@macro-user-callerid:5] GotoIf("SIP/113-0000000b", "0?report") in new stack
-- Executing [s@macro-user-callerid:6] Set("SIP/113-0000000b", "AMPUSERCID=113") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/113-0000000b", "CALLERID(all)="113" <113>") in new stack
-- Executing [s@macro-user-callerid:8] ExecIf("SIP/113-0000000b", "0|Set|CHANNEL(language)=") in new stack
-- Executing [s@macro-user-callerid:9] GotoIf("SIP/113-0000000b", "0?continue") in new stack
-- Executing [s@macro-user-callerid:10] Set("SIP/113-0000000b", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:11] GotoIf("SIP/113-0000000b", "1?continue") in new stack
-- Goto (macro-user-callerid,s,18)
-- Executing [s@macro-user-callerid:18] NoOp("SIP/113-0000000b", "Using CallerID "113" <113>") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/113-0000000b", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/113-0000000b", "VMBOX=novm") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/113-0000000b", "EXTTOCALL=112") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/113-0000000b", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("SIP/113-0000000b", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("SIP/113-0000000b", "RT=""") in new stack
-- Executing [s@macro-exten-vm:8] Macro("SIP/113-0000000b", "record-enable|112|IN") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/113-0000000b", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("SIP/113-0000000b", "recordingcheck|20100310-172400|1268238240.22") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck

recordingcheck|20100310-172400|1268238240.22: Inbound recording not enabled
– AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] MacroExit(“SIP/113-0000000b”, “”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“SIP/113-0000000b”, “dial||tr|112”) in new stack
– Executing [s@macro-dial:1] GotoIf(“SIP/113-0000000b”, “1?dial”) in new stack
– Goto (macro-dial,s,3)
– Executing [s@macro-dial:3] AGI(“SIP/113-0000000b”, “dialparties.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
== Parsing ‘/etc/asterisk/manager.conf’: Found
== Parsing ‘/etc/asterisk/manager_additional.conf’: Found
== Parsing ‘/etc/asterisk/manager_custom.conf’: Found
== Manager ‘admin’ logged on from 127.0.0.1
dialparties.agi: Caller ID name is ‘113’ number is '113’
dialparties.agi: USE_CONFIRMATION: 'FALSE’
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is ‘none’
– dialparties.agi: Added extension 112 to extension map
– dialparties.agi: Extension 112 cf is disabled
– dialparties.agi: Extension 112 do not disturb is disabled
> dialparties.agi: extnum 112 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 112 has ExtensionState: 0
– dialparties.agi: Checking CW and CFB status for extension 112
– dialparties.agi: dbset CALLTRACE/112 to 113
– dialparties.agi: Filtered ARG3: 112
== Manager ‘admin’ logged off from 127.0.0.1
– AGI Script dialparties.agi completed, returning 0
– Executing [s@macro-dial:7] Dial(“SIP/113-0000000b”, “SIP/112||tr”) in new stack
– Called 112
– SIP/112-0000000c is ringing
– SIP/112-0000000c is ringing
– SIP/112-0000000c answered SIP/113-0000000b
– Started music on hold, class ‘default’, on SIP/113-0000000b
– <SIP/112-0000000c> Playing ‘pbx-transfer’ (language ‘en’)
– Executing [114@from-internal-xfer:1] Macro(“Local/114@from-internal-xfer-21df,2”, “exten-vm|novm|114”) in new stack
– Executing [s@macro-exten-vm:1] Macro(“Local/114@from-internal-xfer-21df,2”, “user-callerid”) in new stack
– Executing [s@macro-user-callerid:1] Set(“Local/114@from-internal-xfer-21df,2”, “AMPUSER=112”) in new stack
– Executing [s@macro-user-callerid:2] ExecIf(“Local/114@from-internal-xfer-21df,2”, “1|Set|REALCALLERIDNUM=112”) in new stack
– Executing [s@macro-user-callerid:3] Set(“Local/114@from-internal-xfer-21df,2”, “AMPUSER=112”) in new stack
– Executing [s@macro-user-callerid:4] Set(“Local/114@from-internal-xfer-21df,2”, “AMPUSERCIDNAME=112”) in new stack
– Executing [s@macro-user-callerid:5] GotoIf(“Local/114@from-internal-xfer-21df,2”, “0?report”) in new stack
– Executing [s@macro-user-callerid:6] Set(“Local/114@from-internal-xfer-21df,2”, “AMPUSERCID=88111”) in new stack
– Executing [s@macro-user-callerid:7] Set(“Local/114@from-internal-xfer-21df,2”, “CALLERID(all)=“112” <88111>”) in new stack
– Executing [s@macro-user-callerid:8] ExecIf(“Local/114@from-internal-xfer-21df,2”, “0|Set|CHANNEL(language)=”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“Local/114@from-internal-xfer-21df,2”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:10] Set(“Local/114@from-internal-xfer-21df,2”, “__TTL=63”) in new stack
– Executing [s@macro-user-callerid:11] GotoIf(“Local/114@from-internal-xfer-21df,2”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [s@macro-user-callerid:18] NoOp(“Local/114@from-internal-xfer-21df,2”, “Using CallerID “112” <88111>”) in new stack
– Executing [s@macro-exten-vm:2] Set(“Local/114@from-internal-xfer-21df,2”, “RingGroupMethod=none”) in new stack
– Executing [s@macro-exten-vm:3] Set(“Local/114@from-internal-xfer-21df,2”, “VMBOX=novm”) in new stack
– Executing [s@macro-exten-vm:4] Set(“Local/114@from-internal-xfer-21df,2”, “EXTTOCALL=114”) in new stack
– Executing [s@macro-exten-vm:5] Set(“Local/114@from-internal-xfer-21df,2”, “CFUEXT=”) in new stack
– Executing [s@macro-exten-vm:6] Set(“Local/114@from-internal-xfer-21df,2”, “CFBEXT=”) in new stack
– Executing [s@macro-exten-vm:7] Set(“Local/114@from-internal-xfer-21df,2”, “RT=”"") in new stack
– Executing [s@macro-exten-vm:8] Macro(“Local/114@from-internal-xfer-21df,2”, “record-enable|114|IN”) in new stack
– Executing [s@macro-record-enable:1] GotoIf(“Local/114@from-internal-xfer-21df,2”, “1?check”) in new stack
– Goto (macro-record-enable,s,4)
– Executing [s@macro-record-enable:4] AGI(“Local/114@from-internal-xfer-21df,2”, “recordingcheck|20100310-172406|1268238246.25”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20100310-172406|1268238246.25: Inbound recording not enabled
– AGI Script recordingcheck completed, returning 0
– Executing [s@macro-record-enable:5] MacroExit(“Local/114@from-internal-xfer-21df,2”, “”) in new stack
– Executing [s@macro-exten-vm:9] Macro(“Local/114@from-internal-xfer-21df,2”, “dial||tr|114”) in new stack
– Executing [s@macro-dial:1] GotoIf(“Local/114@from-internal-xfer-21df,2”, “1?dial”) in new stack
– Goto (macro-dial,s,3)
– Executing [s@macro-dial:3] AGI(“Local/114@from-internal-xfer-21df,2”, “dialparties.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
== Parsing ‘/etc/asterisk/manager.conf’: Found
== Parsing ‘/etc/asterisk/manager_additional.conf’: Found
== Parsing ‘/etc/asterisk/manager_custom.conf’: Found
== Manager ‘admin’ logged on from 127.0.0.1
dialparties.agi: Caller ID name is ‘112’ number is '88111’
dialparties.agi: USE_CONFIRMATION: 'FALSE’
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is ‘none’
– dialparties.agi: Added extension 114 to extension map
– dialparties.agi: Extension 114 cf is disabled
– dialparties.agi: Extension 114 do not disturb is disabled
> dialparties.agi: extnum 114 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 114 has ExtensionState: 0
– dialparties.agi: Checking CW and CFB status for extension 114
– dialparties.agi: dbset CALLTRACE/114 to 88111
– dialparties.agi: Filtered ARG3: 114
== Manager ‘admin’ logged off from 127.0.0.1
– AGI Script dialparties.agi completed, returning 0
– Executing [s@macro-dial:7] Dial(“Local/114@from-internal-xfer-21df,2”, “SIP/114||tr”) in new stack
– Called 114
– SIP/114-0000000d is ringing
– SIP/114-0000000d is ringing
– SIP/114-0000000d is ringing
– SIP/114-0000000d is ringing
– SIP/114-0000000d is ringing
– Executing [h@from-internal:1] Macro(“SIP/112-0000000c”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/112-0000000c”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/112-0000000c”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/112-0000000c”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/112-0000000c”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/112-0000000c’ in macro ‘hangupcall’
== Spawn h extension (from-internal, h, 1) exited non-zero on ‘SIP/112-0000000c’
– Stopped music on hold on SIP/113-0000000b
– <Local/114@from-internal-xfer-21df,1> Playing ‘beep’ (language ‘en’)
– Executing [h@macro-dial:1] Macro(“Transfered/SIP/113-0000000b”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“Transfered/SIP/113-0000000b”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“Transfered/SIP/113-0000000b”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“Transfered/SIP/113-0000000b”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“Transfered/SIP/113-0000000b”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Transfered/SIP/113-0000000b’ in macro ‘hangupcall’
== Spawn h extension (macro-dial, h, 1) exited non-zero on ‘Transfered/SIP/113-0000000b’
== Spawn extension (macro-dial, s, 7) exited non-zero on ‘Transfered/SIP/113-0000000b’ in macro ‘dial’
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on ‘Transfered/SIP/113-0000000b’ in macro ‘exten-vm’
== Spawn extension (from-internal, 112, 1) exited non-zero on ‘Transfered/SIP/113-0000000b’
– Executing [h@macro-dial:1] Macro(“SIP/113-0000000b”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/113-0000000b”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“SIP/113-0000000b”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“SIP/113-0000000b”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“SIP/113-0000000b”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘SIP/113-0000000b’ in macro ‘hangupcall’
== Spawn h extension (macro-dial, h, 1) exited non-zero on ‘SIP/113-0000000b’
== Spawn extension (macro-dial, s, 7) exited non-zero on ‘Local/114@from-internal-xfer-21df,2’ in macro ‘dial’
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on ‘Local/114@from-internal-xfer-21df,2’ in macro ‘exten-vm’
== Spawn extension (from-internal-xfer, 114, 1) exited non-zero on ‘Local/114@from-internal-xfer-21df,2’
– Executing [h@macro-dial:1] Macro(“Local/114@from-internal-xfer-21df,2”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“Local/114@from-internal-xfer-21df,2”, “1?skiprg”) in new stack
– Goto (macro-hangupcall,s,4)
– Executing [s@macro-hangupcall:4] GotoIf(“Local/114@from-internal-xfer-21df,2”, “1?skipblkvm”) in new stack
– Goto (macro-hangupcall,s,7)
– Executing [s@macro-hangupcall:7] GotoIf(“Local/114@from-internal-xfer-21df,2”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,9)
– Executing [s@macro-hangupcall:9] Hangup(“Local/114@from-internal-xfer-21df,2”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on ‘Local/114@from-internal-xfer-21df,2’ in macro ‘hangupcall’
== Spawn extension (macro-dial, h, 1) exited non-zero on ‘Local/114@from-internal-xfer-21df,2’


Regards
Frederic

hmm - I forgot what that line’s purpose is other than I know it has a good purpose.

I’ll have to put my thinking hat on to recall that.

However, there are some things you may be able to investigate. Add a Noop to the proceeding line before the GotoIf:

exten => s,n,Noop(Came from context: ${MACRO_CONTEXT})

If that reports “from-internal-xfer” then we may be able to change the GotoIf to:

exten => s,n,GotoIf($["${CHANNEL:0:5}" = "Local" & "${MACRO_CONTEXT}" != "${TRANSFER_CONTEXT}"]?report)

Doing a change like that will require some significant testing of several other modes, as well as remembering what the rational for that gotoif is to make sure it is not breaking other stuff. But you can do some initial testing if this pans out, try it with blind transfers also and if possible with both blind and attended that are initiated from devices vs. Asterisk feature codes.

If it all looks reasonable, feel free to open a ticket in the tracker with a summary of your findings and a patch as to what looks like may be required to make the fix.

just some more thoughts on this - if you make the gotoif change, then after the attended transfer, try some subsequent transfers to see what happens and make sure nothing else gets screwy as a result…

Hi,

I did the first test:

exten => s,n,Noop(Came from context: ${MACRO_CONTEXT})
return: “Came from context: macro-exten-vm”

So I have changed your test to:
exten => s,n,GotoIf($["${CHANNEL:0:5}" = “Local” & “${REGEX(“from-internal-xfer” ${CHANNEL})}” = “0” ]?report)

With this test it work

I will do some test with hold,parkingand blind transfer before create a trac ticket.

Regards
Frederic

sounds good. Don’t hardcode ‘‘from-internal-xfer’’ though, use ${{TRANFER_CONTEXT} instead to account for any customizations (or name changes).

Hi,

Good Idea, I forgot this Variable :slight_smile:

Thanks for your Help Philippe.

Regards
Frederic