Ticket #2191 (closed Bugs: wontfix)

Opened 6 years ago

Last modified 5 years ago

FollowMe does not seem to send out Clids properly - Missing text

Reported by: pbassel Assigned to: p_lindheimer
Priority: minor Milestone: 2.4
Component: Follow Me Version: 2.4-branch
Keywords: FollowMe CID Cc:
Confirmation: Need testing Distro:
Backend Engine: All Distro Ver:
Backend Ver: SVN Revision (if applicable):

Description (Last modified by p_lindheimer)

Hi,

I have been using FreePBX for over a year now and there seems to be a problem with FollowMe. I have been using this function for most of the time.

For some reason when it sends out Clids (CID)s to numbers in a Follow Me the system only sends the number and not the leading text. So in other words I have set a CID on one extension of say "Peter at work" <4169347979> and all that is sent for the CID is the 4169347979 .

I was thinking that my VOIP provider was somehow stripping the leading text but I do not think its the case.

What is strange is that the text gets through if the call is coming from an other extension where I have set its CID. So "John at home"<5146670905> results in me receiving John at work 5146670905 on incoming call display.

But if a call comes from the outside or even if I use an internal extension to call outside and back into the system it sends no text and just the number. When watch what is happening in the CLI it seems to send a nul value of "".

Help with this would be appreciated. Thanks. Regards

Peter

Here is part of CLI where I am dialing out from extn 232 through to my SIP provider:

asterisk1*CLI>
    -- Executing Macro("SIP/232-08486b30", "dialout-trunk|5|14169347979||") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_TRUNK=5") in new stack
    -- Executing Set("SIP/232-08486b30", "_NODEST=") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_NUMBER=14169347979") in new stack
    -- Executing Set("SIP/232-08486b30", "ROUTE_PASSWD=") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_TRUNK_OPTIONS=TtWwr") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?noauth") in new stack
    -- Goto (macro-dialout-trunk,s,8)
    -- Executing Set("SIP/232-08486b30", "GROUP()=OUT_5") in new stack
    -- Executing Macro("SIP/232-08486b30", "user-callerid|SKIPTTL") in new stack
    -- Executing NoOp("SIP/232-08486b30", "user-callerid: device 232") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?report") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?start") in new stack
    -- Executing Set("SIP/232-08486b30", "REALCALLERIDNUM=232") in new stack
    -- Executing NoOp("SIP/232-08486b30", "REALCALLERIDNUM is 232") in new stack
    -- Executing Set("SIP/232-08486b30", "AMPUSER=232") in new stack
    -- Executing Set("SIP/232-08486b30", "AMPUSERCIDNAME=MPeter  Bassel") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?report") in new stack
    -- Executing Set("SIP/232-08486b30", "CALLERID(all)=MPeter  Bassel <232>") in new stack
    -- Executing Set("SIP/232-08486b30", "REALCALLERIDNUM=232") in new stack
    -- Executing NoOp("SIP/232-08486b30", "TTL:  ARG1: SKIPTTL") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("SIP/232-08486b30", "Using CallerID "MPeter  Bassel" <232>") in new stack
    -- Executing Macro("SIP/232-08486b30", "record-enable|232|OUT") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing DeadAGI("SIP/232-08486b30", "recordingcheck|20070801-140724|1185991644.121") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
    -- Executing Macro("SIP/232-08486b30", "dialout-trunk|5|14169347979||") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_TRUNK=5") in new stack
    -- Executing Set("SIP/232-08486b30", "_NODEST=") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_NUMBER=14169347979") in new stack
    -- Executing Set("SIP/232-08486b30", "ROUTE_PASSWD=") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_TRUNK_OPTIONS=TtWwr") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?noauth") in new stack
    -- Goto (macro-dialout-trunk,s,8)
    -- Executing Set("SIP/232-08486b30", "GROUP()=OUT_5") in new stack
    -- Executing Macro("SIP/232-08486b30", "user-callerid|SKIPTTL") in new stack
    -- Executing NoOp("SIP/232-08486b30", "user-callerid: device 232") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?report") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?start") in new stack
    -- Executing Set("SIP/232-08486b30", "REALCALLERIDNUM=232") in new stack
    -- Executing NoOp("SIP/232-08486b30", "REALCALLERIDNUM is 232") in new stack
    -- Executing Set("SIP/232-08486b30", "AMPUSER=232") in new stack
    -- Executing Set("SIP/232-08486b30", "AMPUSERCIDNAME=MPeter  Bassel") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?report") in new stack
    -- Executing Set("SIP/232-08486b30", "CALLERID(all)=MPeter  Bassel <232>") in new stack
    -- Executing Set("SIP/232-08486b30", "REALCALLERIDNUM=232") in new stack
    -- Executing NoOp("SIP/232-08486b30", "TTL:  ARG1: SKIPTTL") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("SIP/232-08486b30", "Using CallerID "MPeter  Bassel" <232>") in new stack
    -- Executing Macro("SIP/232-08486b30", "record-enable|232|OUT") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing DeadAGI("SIP/232-08486b30", "recordingcheck|20070801-140724|1185991644.121") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
  recordingcheck|20070801-140724|1185991644.121: Outbound recording not enabled
  recordingcheck|20070801-140724|1185991644.121: Outbound recording not enabled
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("SIP/232-08486b30", "No recording needed") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?skipoutcid") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_TRUNK_OPTIONS=TtWw") in new stack
    -- Executing Macro("SIP/232-08486b30", "outbound-callerid|5") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?start") in new stack
    -- Goto (macro-outbound-callerid,s,3)
    -- Executing NoOp("SIP/232-08486b30", "REALCALLERIDNUM is 232") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?normcid") in new stack
    -- Goto (macro-outbound-callerid,s,9)
    -- Executing Set("SIP/232-08486b30", "USEROUTCID="Drivemex"<8663675053>") in new stack
    -- Executing Set("SIP/232-08486b30", "EMERGENCYCID=") in new stack
    -- Executing Set("SIP/232-08486b30", "TRUNKOUTCID=") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,16)
    -- Executing GotoIf("SIP/232-08486b30", "1?usercid") in new stack
    -- Goto (macro-outbound-callerid,s,18)
    -- Executing GotoIf("SIP/232-08486b30", "0?report") in new stack
    -- Executing Set("SIP/232-08486b30", "CALLERID(all)="Drivemex"<8663675053>") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?report:hidecid") in new stack
    -- Goto (macro-outbound-callerid,s,22)
    -- Executing NoOp("SIP/232-08486b30", "CallerID set to "Drivemex" <8663675053>") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?nomax") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?chanfull") in new stack
    -- Executing DeadAGI("SIP/232-08486b30", "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("SIP/232-08486b30", "No recording needed") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?skipoutcid") in new stack
    -- Executing Set("SIP/232-08486b30", "DIAL_TRUNK_OPTIONS=TtWw") in new stack
    -- Executing Macro("SIP/232-08486b30", "outbound-callerid|5") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?start") in new stack
    -- Goto (macro-outbound-callerid,s,3)
    -- Executing NoOp("SIP/232-08486b30", "REALCALLERIDNUM is 232") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?normcid") in new stack
    -- Goto (macro-outbound-callerid,s,9)
    -- Executing Set("SIP/232-08486b30", "USEROUTCID="Drivemex"<8663675053>") in new stack
    -- Executing Set("SIP/232-08486b30", "EMERGENCYCID=") in new stack
    -- Executing Set("SIP/232-08486b30", "TRUNKOUTCID=") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,16)
    -- Executing GotoIf("SIP/232-08486b30", "1?usercid") in new stack
    -- Goto (macro-outbound-callerid,s,18)
    -- Executing GotoIf("SIP/232-08486b30", "0?report") in new stack
    -- Executing Set("SIP/232-08486b30", "CALLERID(all)="Drivemex"<8663675053>") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?report:hidecid") in new stack
    -- Goto (macro-outbound-callerid,s,22)
    -- Executing NoOp("SIP/232-08486b30", "CallerID set to "Drivemex" <8663675053>") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?nomax") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?chanfull") in new stack
    -- Executing DeadAGI("SIP/232-08486b30", "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing Set("SIP/232-08486b30", "OUTNUM=14169347979") in new stack
    -- Executing Set("SIP/232-08486b30", "custom=SIP/5146670905-out") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?customtrunk") in new stack
    -- Executing Dial("SIP/232-08486b30", "SIP/5146670905-out/14169347979|300|TtWw") in new stack
    -- Called 5146670905-out/14169347979
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing Set("SIP/232-08486b30", "OUTNUM=14169347979") in new stack
    -- Executing Set("SIP/232-08486b30", "custom=SIP/5146670905-out") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "0?customtrunk") in new stack
    -- Executing Dial("SIP/232-08486b30", "SIP/5146670905-out/14169347979|300|TtWw") in new stack
    -- Called 5146670905-out/14169347979
    -- SIP/5146670905-out-08498ad0 is making progress passing it to SIP/232-08486b30
    -- SIP/5146670905-out-08498ad0 is making progress passing it to SIP/232-08486b30

Now here is where my IAX provider starts to get the call:

    -- Accepting AUTHENTICATED call from XXX.235.15.51:
       > requested format = ulaw,
       > requested prefs = (ulaw),
       > actual format = ulaw,
       > host prefs = (ulaw),
       > priority = mine
    -- Executing Set("IAX2/gwpco-5", "__FROM_DID=4165487541") in new stack
    -- Executing Gosub("IAX2/gwpco-5", "app-blacklist-check|s|1") in new stack
    -- Executing LookupBlacklist("IAX2/gwpco-5", "") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?blacklisted") in new stack
    -- Executing Return("IAX2/gwpco-5", "") in new stack
    -- Executing Set("IAX2/gwpco-5", "FAX_RX=disabled") in new stack
    -- Executing Set("IAX2/gwpco-5", "FAX_RX_EMAIL=peter.bassel@gwpco.ca") in new stack
    -- Executing Answer("IAX2/gwpco-5", "") in new stack
    -- Executing PlayTones("IAX2/gwpco-5", "ring") in new stack
    -- Executing NVFaxDetect("IAX2/gwpco-5", "6") in new stack
    -- Accepting AUTHENTICATED call from XXX.235.15.51:
       > requested format = ulaw,
       > requested prefs = (ulaw),
       > actual format = ulaw,
       > host prefs = (ulaw),
       > priority = mine
    -- Executing Set("IAX2/gwpco-5", "__FROM_DID=4165487541") in new stack
    -- Executing Gosub("IAX2/gwpco-5", "app-blacklist-check|s|1") in new stack
    -- Executing LookupBlacklist("IAX2/gwpco-5", "") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?blacklisted") in new stack
    -- Executing Return("IAX2/gwpco-5", "") in new stack
    -- Executing Set("IAX2/gwpco-5", "FAX_RX=disabled") in new stack
    -- Executing Set("IAX2/gwpco-5", "FAX_RX_EMAIL=peter.bassel@gwpco.ca") in new stack
    -- Executing Answer("IAX2/gwpco-5", "") in new stack
    -- Executing PlayTones("IAX2/gwpco-5", "ring") in new stack
    -- Executing NVFaxDetect("IAX2/gwpco-5", "6") in new stack
    -- SIP/5146670905-out-08498ad0 answered SIP/232-08486b30
    -- SIP/5146670905-out-08498ad0 answered SIP/232-08486b30
    -- Executing Goto("IAX2/gwpco-5", "ext-findmefollow|210|1") in new stack
    -- Goto (ext-findmefollow,210,1)
    -- Executing Macro("IAX2/gwpco-5", "user-callerid|") in new stack
    -- Executing NoOp("IAX2/gwpco-5", "user-callerid:  8663675053") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?report") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?start") in new stack
    -- Executing Set("IAX2/gwpco-5", "REALCALLERIDNUM=8663675053") in new stack
    -- Executing NoOp("IAX2/gwpco-5", "REALCALLERIDNUM is 8663675053") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSER=") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSERCIDNAME=") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing NoOp("IAX2/gwpco-5", "TTL:  ARG1: ") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?continue") in new stack
    -- Executing Set("IAX2/gwpco-5", "__TTL=64") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("IAX2/gwpco-5", "Using CallerID "" <8663675053>") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?skipdb") in new stack
    -- Goto (ext-findmefollow,210,4)
    -- Executing Set("IAX2/gwpco-5", "__NODEST=") in new stack
    -- Executing Set("IAX2/gwpco-5", "__BLKVM_OVERRIDE=BLKVM/210/IAX2/gwpco-5") in new stack
    -- Executing Set("IAX2/gwpco-5", "__BLKVM_BASE=210") in new stack
    -- Executing Set("IAX2/gwpco-5", "DB(BLKVM/210/IAX2/gwpco-5)=TRUE") in new stack
    -- Executing Goto("IAX2/gwpco-5", "ext-findmefollow|210|1") in new stack
    -- Goto (ext-findmefollow,210,1)
    -- Executing Macro("IAX2/gwpco-5", "user-callerid|") in new stack
    -- Executing NoOp("IAX2/gwpco-5", "user-callerid:  8663675053") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?report") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?start") in new stack
    -- Executing Set("IAX2/gwpco-5", "REALCALLERIDNUM=8663675053") in new stack
    -- Executing Set("IAX2/gwpco-5", "RRNODEST=") in new stack
    -- Executing Set("IAX2/gwpco-5", "__NODEST=210") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1 ?skipsimple") in new stack
    -- Goto (ext-findmefollow,210,12)
    -- Executing Set("IAX2/gwpco-5", "RecordMethod=Group") in new stack
    -- Executing Macro("IAX2/gwpco-5", "record-enable|210-250-420-6475019142#|Group") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing DeadAGI("IAX2/gwpco-5", "recordingcheck|20070801-140733|1185991646.123") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
pco-5", "REALCALLERIDNUM is 8663675053") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSER=") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSERCIDNAME=") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing NoOp("IAX2/gwpco-5", "TTL:  ARG1: ") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?continue") in new stack
    -- Executing Set("IAX2/gwpco-5", "__TTL=64") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("IAX2/gwpco-5", "Using CallerID "" <8663675053>") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?skipdb") in new stack
    -- Goto (ext-findmefollow,210,4)
    -- Executing Set("IAX2/gwpco-5", "__NODEST=") in new stack
    -- Executing Set("IAX2/gwpco-5", "__BLKVM_OVERRIDE=BLKVM/210/IAX2/gwpco-5") in new stack
    -- Executing Set("IAX2/gwpco-5", "__BLKVM_BASE=210") in new stack
    -- Executing Set("IAX2/gwpco-5", "DB(BLKVM/210/IAX2/gwpco-5)=TRUE") in new stack
    -- Executing Set("IAX2/gwpco-5", "RRNODEST=") in new stack
    -- Executing Set("IAX2/gwpco-5", "__NODEST=210") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1 ?skipsimple") in new stack

Here is where the FollowMe is called:

    -- Goto (ext-findmefollow,210,12)
    -- Executing Set("IAX2/gwpco-5", "RecordMethod=Group") in new stack
    -- Executing Macro("IAX2/gwpco-5", "record-enable|210-250-420-6475019142#|Group") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing DeadAGI("IAX2/gwpco-5", "recordingcheck|20070801-140733|1185991646.123") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
  recordingcheck|20070801-140733|1185991646.123: No DB Entry AMPUSER/6475019142#/recording - Not recording
  recordingcheck|20070801-140733|1185991646.123: No DB Entry AMPUSER/6475019142#/recording - Not recording
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("IAX2/gwpco-5", "No recording needed") in new stack
    -- Executing Set("IAX2/gwpco-5", "RingGroupMethod=ringall") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?doconfirm") in new stack
    -- Executing Macro("IAX2/gwpco-5", "dial|20|TtWwr|210-250-420-6475019142#") in new stack
    -- Executing DeadAGI("IAX2/gwpco-5", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("IAX2/gwpco-5", "No recording needed") in new stack
    -- Executing Set("IAX2/gwpco-5", "RingGroupMethod=ringall") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?doconfirm") in new stack
    -- Executing Macro("IAX2/gwpco-5", "dial|20|TtWwr|210-250-420-6475019142#") in new stack
    -- Executing DeadAGI("IAX2/gwpco-5", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
  dialparties.agi: Starting New Dialparties.agi
  dialparties.agi: Starting New Dialparties.agi
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager_custom.conf': Found
  == Manager 'admin' logged on from 127.0.0.1
  == Parsing '/etc/asterisk/manager.conf': Found
  == Parsing '/etc/asterisk/manager_custom.conf': Found
  == Manager 'admin' logged on from 127.0.0.1
  dialparties.agi: priority is 1
  dialparties.agi: priority is 1
  dialparties.agi: Caller ID name is 'unknown' number is '8663675053'
  dialparties.agi: Caller ID name is 'unknown' number is '8663675053'

Notice the CID name 'unknown'.

Then the rest of the listing including mre recording a message and hanging up:

  dialparties.agi: Methodology of ring is  'ringall'
  dialparties.agi: Methodology of ring is  'ringall'
       >  dialparties.agi: USE_CONFIRMATION:  'FALSE'
       >  dialparties.agi: USE_CONFIRMATION:  'FALSE'
       >  dialparties.agi: RINGGROUP_INDEX:   ''
       >  dialparties.agi: RINGGROUP_INDEX:   ''
    --  dialparties.agi: Added extension 210 to extension map
    --  dialparties.agi: Added extension 210 to extension map
    --  dialparties.agi: Added extension 250 to extension map
    --  dialparties.agi: Added extension 250 to extension map
    --  dialparties.agi: Added extension 420 to extension map
    --  dialparties.agi: Added extension 420 to extension map
    --  dialparties.agi: Added extension 6475019142# to extension map
    --  dialparties.agi: Added extension 6475019142# to extension map
    --  dialparties.agi: Extension 210 cf is disabled
    --  dialparties.agi: Extension 210 cf is disabled
    --  dialparties.agi: Extension 250 cf is disabled
    --  dialparties.agi: Extension 250 cf is disabled
    --  dialparties.agi: Extension 420 cf is disabled
    --  dialparties.agi: Extension 420 cf is disabled
    --  dialparties.agi: Extension 6475019142# cf is disabled
    --  dialparties.agi: Extension 6475019142# cf is disabled
    --  dialparties.agi: Extension 210 do not disturb is disabled
    --  dialparties.agi: Extension 210 do not disturb is disabled
    --  dialparties.agi: Extension 250 do not disturb is disabled
    --  dialparties.agi: Extension 250 do not disturb is disabled
    --  dialparties.agi: Extension 420 do not disturb is disabled
    --  dialparties.agi: Extension 420 do not disturb is disabled
       >  dialparties.agi: extnum: 210
       >  dialparties.agi: extnum: 210
       >  dialparties.agi: exthascw: 1
       >  dialparties.agi: exthascw: 1
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: extcfb:
       >  dialparties.agi: extcfb:
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: extcfu:
       >  dialparties.agi: extcfu:
    --  dialparties.agi: dbset CALLTRACE/210 to 8663675053
    --  dialparties.agi: dbset CALLTRACE/210 to 8663675053
       >  dialparties.agi: extnum: 250
       >  dialparties.agi: extnum: 250
       >  dialparties.agi: exthascw: 1
       >  dialparties.agi: exthascw: 1
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: extcfb:
       >  dialparties.agi: extcfb:
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: extcfu:
       >  dialparties.agi: extcfu:
    --  dialparties.agi: dbset CALLTRACE/250 to 8663675053
    --  dialparties.agi: dbset CALLTRACE/250 to 8663675053
       >  dialparties.agi: extnum: 420
       >  dialparties.agi: extnum: 420
       >  dialparties.agi: exthascw: 1
       >  dialparties.agi: exthascw: 1
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: extcfb:
       >  dialparties.agi: extcfb:
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: extcfu:
       >  dialparties.agi: extcfu:
    --  dialparties.agi: dbset CALLTRACE/420 to 8663675053
    --  dialparties.agi: dbset CALLTRACE/420 to 8663675053
       >  dialparties.agi: extnum: 6475019142#
       >  dialparties.agi: extnum: 6475019142#
       >  dialparties.agi: exthascw: 0
       >  dialparties.agi: exthascw: 0
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: exthascfb: 0
       >  dialparties.agi: extcfb:
       >  dialparties.agi: extcfb:
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: exthascfu: 0
       >  dialparties.agi: extcfu:
       >  dialparties.agi: extcfu:
       >  dialparties.agi: Built External dialstring component for 6475019142: Local/6475019142@from-internal/n
       >  dialparties.agi: Built External dialstring component for 6475019142: Local/6475019142@from-internal/n
       >  dialparties.agi: NODEST: 210 adding M(auto-blkvm) to dialopts: TtWwrM(auto-blkvm)
       >  dialparties.agi: NODEST: 210 adding M(auto-blkvm) to dialopts: TtWwrM(auto-blkvm)
  == Manager 'admin' logged off from 127.0.0.1
  == Manager 'admin' logged off from 127.0.0.1
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing Dial("IAX2/gwpco-5", "SIP/210&SIP/250&SIP/420&Local/6475019142@from-internal/n|20|TtWwrM(auto-blkvm)") in new stack
    -- Called 210
    -- Called 250
    -- Called 420
    -- Called 6475019142@from-internal/n
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "dialout-trunk|4|6475019142||") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_TRUNK=4") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "_NODEST=") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_NUMBER=6475019142") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "ROUTE_PASSWD=") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_TRUNK_OPTIONS=TtWwr") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?noauth") in new stack
    -- Goto (macro-dialout-trunk,s,8)
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "GROUP()=OUT_4") in new stack
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "user-callerid|SKIPTTL") in new stack
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "user-callerid:  8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "TTL: 64 ARG1: SKIPTTL") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "Using CallerID "" <8663675053>") in new stack
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "record-enable|8663675053|OUT") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing DeadAGI("Local/6475019142@from-internal-f9b7,2", "recordingcheck|20070801-140733|1185991653.128") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing Dial("IAX2/gwpco-5", "SIP/210&SIP/250&SIP/420&Local/6475019142@from-internal/n|20|TtWwrM(auto-blkvm)") in new stack
    -- Called 210
    -- Called 250
    -- Called 420
    -- Called 6475019142@from-internal/n
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "dialout-trunk|4|6475019142||") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_TRUNK=4") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "_NODEST=") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_NUMBER=6475019142") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "ROUTE_PASSWD=") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_TRUNK_OPTIONS=TtWwr") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?noauth") in new stack
    -- Goto (macro-dialout-trunk,s,8)
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "GROUP()=OUT_4") in new stack
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "user-callerid|SKIPTTL") in new stack
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "user-callerid:  8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "TTL: 64 ARG1: SKIPTTL") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "Using CallerID "" <8663675053>") in new stack
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "record-enable|8663675053|OUT") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?2:4") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing DeadAGI("Local/6475019142@from-internal-f9b7,2", "recordingcheck|20070801-140733|1185991653.128") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
    -- Got SIP response 400 "Bad Request" back from 192.168.2.50
    -- SIP/420-084e10c8 is circuit-busy
    -- Got SIP response 400 "Bad Request" back from 192.168.2.50
    -- SIP/420-084e10c8 is circuit-busy
  recordingcheck|20070801-140733|1185991653.128: No AMPUSER db entry for 8663675053. Not recording
  recordingcheck|20070801-140733|1185991653.128: No AMPUSER db entry for 8663675053. Not recording
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "No recording needed") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?skipoutcid") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_TRUNK_OPTIONS=TtWw") in new stack
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "outbound-callerid|4") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?start") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "REALCALLERIDNUM=8663675053") in new stack
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "REALCALLERIDNUM is 8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?normcid") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?normcid") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?normcid") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "USEROUTCID=8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?bypass:normcid") in new stack
    -- Goto (macro-outbound-callerid,s,10)
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "EMERGENCYCID=") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "TRUNKOUTCID=") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,16)
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?usercid") in new stack
    -- Goto (macro-outbound-callerid,s,18)
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?report") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "CALLERID(all)=8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?report:hidecid") in new stack
    -- Goto (macro-outbound-callerid,s,22)
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "CallerID set to "" <8663675053>") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?nomax") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?chanfull") in new stack
    -- Executing DeadAGI("Local/6475019142@from-internal-f9b7,2", "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- AGI Script recordingcheck completed, returning 0
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "No recording needed") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?skipoutcid") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "DIAL_TRUNK_OPTIONS=TtWw") in new stack
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "outbound-callerid|4") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?start") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "REALCALLERIDNUM=8663675053") in new stack
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "REALCALLERIDNUM is 8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?normcid") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?normcid") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?normcid") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "USEROUTCID=8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?bypass:normcid") in new stack
    -- Goto (macro-outbound-callerid,s,10)
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "EMERGENCYCID=") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "TRUNKOUTCID=") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,16)
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?usercid") in new stack
    -- Goto (macro-outbound-callerid,s,18)
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?report") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "CALLERID(all)=8663675053") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?report:hidecid") in new stack
    -- Goto (macro-outbound-callerid,s,22)
    -- Executing NoOp("Local/6475019142@from-internal-f9b7,2", "CallerID set to "" <8663675053>") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?nomax") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?chanfull") in new stack
    -- Executing DeadAGI("Local/6475019142@from-internal-f9b7,2", "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- SIP/250-083c6688 is ringing
    -- SIP/250-083c6688 is ringing
    -- SIP/210-083c3a68 is ringing
    -- SIP/210-083c3a68 is ringing
       >  fixlocalprefix: Using pattern 011.
       >  fixlocalprefix: Using pattern 011.
       >  fixlocalprefix: Using pattern 1XXXXXXXXXX
       >  fixlocalprefix: Using pattern 1XXXXXXXXXX
       >  fixlocalprefix: Using pattern XXXXXXXXXX
       >  fixlocalprefix: Using pattern XXXXXXXXXX
  ==  fixlocalprefix: Dialpattern XXXXXXXXXX matched. 6475019142 -> 6475019142
  ==  fixlocalprefix: Dialpattern XXXXXXXXXX matched. 6475019142 -> 6475019142
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "OUTNUM=6475019142") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "custom=IAX2/gwpco_iax2_200") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?customtrunk") in new stack
    -- Executing Dial("Local/6475019142@from-internal-f9b7,2", "IAX2/gwpco_iax2_200/6475019142|300|TtWw") in new stack
    -- Called gwpco_iax2_200/6475019142
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "OUTNUM=6475019142") in new stack
    -- Executing Set("Local/6475019142@from-internal-f9b7,2", "custom=IAX2/gwpco_iax2_200") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "0?customtrunk") in new stack
    -- Executing Dial("Local/6475019142@from-internal-f9b7,2", "IAX2/gwpco_iax2_200/6475019142|300|TtWw") in new stack
    -- Called gwpco_iax2_200/6475019142
    -- Call accepted by XXX.235.15.51 (format ulaw)
    -- Format for call is ulaw
    -- Call accepted by XXX.235.15.51 (format ulaw)
    -- Format for call is ulaw
    -- IAX2/gwpco_iax2_200-10 is proceeding passing it to Local/6475019142@from-internal-f9b7,2
    -- Local/6475019142@from-internal-f9b7,1 is proceeding passing it to IAX2/gwpco-5
    -- IAX2/gwpco_iax2_200-10 is proceeding passing it to Local/6475019142@from-internal-f9b7,2
    -- Local/6475019142@from-internal-f9b7,1 is proceeding passing it to IAX2/gwpco-5
    -- IAX2/gwpco_iax2_200-10 is making progress passing it to Local/6475019142@from-internal-f9b7,2
    -- Local/6475019142@from-internal-f9b7,1 is making progress passing it to IAX2/gwpco-5
    -- IAX2/gwpco_iax2_200-10 is making progress passing it to Local/6475019142@from-internal-f9b7,2
    -- Local/6475019142@from-internal-f9b7,1 is making progress passing it to IAX2/gwpco-5
    -- Nobody picked up in 20000 ms
    -- Executing Goto("IAX2/gwpco-5", "nextstep") in new stack
    -- Goto (ext-findmefollow,210,19)
    -- Executing Set("IAX2/gwpco-5", "RingGroupMethod=") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?nodest") in new stack
    -- Executing Set("IAX2/gwpco-5", "__NODEST=") in new stack
    -- Executing DBdel("IAX2/gwpco-5", "BLKVM/210/IAX2/gwpco-5") in new stack
    -- DBdel: family=BLKVM, key=210/IAX2/gwpco-5
    -- Hungup 'IAX2/gwpco_iax2_200-10'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'Local/6475019142@from-internal-f9b7,2' in macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'Local/6475019142@from-internal-f9b7,2'
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "hangupcall") in new stack
    -- Executing ResetCDR("Local/6475019142@from-internal-f9b7,2", "w") in new stack
    -- Executing Goto("IAX2/gwpco-5", "app-announcement-6|s|1") in new stack
    -- Goto (app-announcement-6,s,1)
    -- Executing GotoIf("IAX2/gwpco-5", "1?begin") in new stack
    -- Goto (app-announcement-6,s,4)
    -- Executing NoOp("IAX2/gwpco-5", "Playing announcement Peter-unavail-en") in new stack
    -- Executing Playback("IAX2/gwpco-5", "custom/Peter-unavail-en-msg|noanswer") in new stack
    -- Nobody picked up in 20000 ms
    -- Executing Goto("IAX2/gwpco-5", "nextstep") in new stack
    -- Goto (ext-findmefollow,210,19)
    -- Executing Set("IAX2/gwpco-5", "RingGroupMethod=") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?nodest") in new stack
    -- Executing Set("IAX2/gwpco-5", "__NODEST=") in new stack
    -- Executing DBdel("IAX2/gwpco-5", "BLKVM/210/IAX2/gwpco-5") in new stack
    -- DBdel: family=BLKVM, key=210/IAX2/gwpco-5
    -- Hungup 'IAX2/gwpco_iax2_200-10'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'Local/6475019142@from-internal-f9b7,2' in macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'Local/6475019142@from-internal-f9b7,2'
    -- Executing Macro("Local/6475019142@from-internal-f9b7,2", "hangupcall") in new stack
    -- Executing ResetCDR("Local/6475019142@from-internal-f9b7,2", "w") in new stack
    -- Executing Goto("IAX2/gwpco-5", "app-announcement-6|s|1") in new stack
    -- Goto (app-announcement-6,s,1)
    -- Executing GotoIf("IAX2/gwpco-5", "1?begin") in new stack
    -- Goto (app-announcement-6,s,4)
    -- Executing NoOp("IAX2/gwpco-5", "Playing announcement Peter-unavail-en") in new stack
    -- Executing Playback("IAX2/gwpco-5", "custom/Peter-unavail-en-msg|noanswer") in new stack
    -- Playing 'custom/Peter-unavail-en-msg' (language 'en')
    -- Playing 'custom/Peter-unavail-en-msg' (language 'en')
    -- Executing NoCDR("Local/6475019142@from-internal-f9b7,2", "") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing Wait("Local/6475019142@from-internal-f9b7,2", "5") in new stack
    -- Executing NoCDR("Local/6475019142@from-internal-f9b7,2", "") in new stack
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("Local/6475019142@from-internal-f9b7,2", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing Wait("Local/6475019142@from-internal-f9b7,2", "5") in new stack
    -- Executing Hangup("Local/6475019142@from-internal-f9b7,2", "") in new stack
  == Spawn extension (macro-hangupcall, s, 10) exited non-zero on 'Local/6475019142@from-internal-f9b7,2' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 10) exited non-zero on 'Local/6475019142@from-internal-f9b7,2'
    -- Executing Hangup("Local/6475019142@from-internal-f9b7,2", "") in new stack
  == Spawn extension (macro-hangupcall, s, 10) exited non-zero on 'Local/6475019142@from-internal-f9b7,2' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 10) exited non-zero on 'Local/6475019142@from-internal-f9b7,2'
    -- Executing Goto("IAX2/gwpco-5", "ext-local|*210|1") in new stack
    -- Goto (ext-local,*210,1)
    -- Executing Macro("IAX2/gwpco-5", "vm|210|DIRECTDIAL") in new stack
    -- Executing Macro("IAX2/gwpco-5", "user-callerid|SKIPTTL") in new stack
    -- Executing NoOp("IAX2/gwpco-5", "user-callerid:  8663675053") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?report") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?start") in new stack
    -- Goto (macro-user-callerid,s,5)
    -- Executing NoOp("IAX2/gwpco-5", "REALCALLERIDNUM is 8663675053") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSER=") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSERCIDNAME=") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing NoOp("IAX2/gwpco-5", "TTL: 64 ARG1: SKIPTTL") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("IAX2/gwpco-5", "Using CallerID "" <8663675053>") in new stack
    -- Executing Set("IAX2/gwpco-5", "VMGAIN=g(45)") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?s-DIRECTDIAL|1") in new stack
    -- Goto (macro-vm,s-DIRECTDIAL,1)
    -- Executing NoOp("IAX2/gwpco-5", "DIRECTDIAL voicemail") in new stack
    -- Executing Macro("IAX2/gwpco-5", "get-vmcontext|210") in new stack
    -- Executing Set("IAX2/gwpco-5", "VMCONTEXT=default") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?200:300") in new stack
    -- Goto (macro-get-vmcontext,s,300)
    -- Executing NoOp("IAX2/gwpco-5", "") in new stack
    -- Executing VoiceMail("IAX2/gwpco-5", "210@default|ssug(45)") in new stack
    -- Executing Goto("IAX2/gwpco-5", "ext-local|*210|1") in new stack
    -- Goto (ext-local,*210,1)
    -- Executing Macro("IAX2/gwpco-5", "vm|210|DIRECTDIAL") in new stack
    -- Executing Macro("IAX2/gwpco-5", "user-callerid|SKIPTTL") in new stack
    -- Executing NoOp("IAX2/gwpco-5", "user-callerid:  8663675053") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?report") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?start") in new stack
    -- Goto (macro-user-callerid,s,5)
    -- Executing NoOp("IAX2/gwpco-5", "REALCALLERIDNUM is 8663675053") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSER=") in new stack
    -- Executing Set("IAX2/gwpco-5", "AMPUSERCIDNAME=") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing NoOp("IAX2/gwpco-5", "TTL: 64 ARG1: SKIPTTL") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing NoOp("IAX2/gwpco-5", "Using CallerID "" <8663675053>") in new stack
    -- Executing Set("IAX2/gwpco-5", "VMGAIN=g(45)") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "1?s-DIRECTDIAL|1") in new stack
    -- Goto (macro-vm,s-DIRECTDIAL,1)
    -- Executing NoOp("IAX2/gwpco-5", "DIRECTDIAL voicemail") in new stack
    -- Executing Macro("IAX2/gwpco-5", "get-vmcontext|210") in new stack
    -- Executing Set("IAX2/gwpco-5", "VMCONTEXT=default") in new stack
    -- Executing GotoIf("IAX2/gwpco-5", "0?200:300") in new stack
    -- Goto (macro-get-vmcontext,s,300)
    -- Executing NoOp("IAX2/gwpco-5", "") in new stack
    -- Executing VoiceMail("IAX2/gwpco-5", "210@default|ssug(45)") in new stack
    -- Playing '/var/spool/asterisk/voicemail/default/210/unavail' (language 'en')
    -- Playing '/var/spool/asterisk/voicemail/default/210/unavail' (language 'en')
    -- Playing 'beep' (language 'en')
    -- Playing 'beep' (language 'en')
    -- Recording the message
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/default/210/tmp/IP2ufx format: wav49, 0x8518e60
    -- x=1, open writing:  /var/spool/asterisk/voicemail/default/210/tmp/IP2ufx format: wav, 0x84540c8
    -- x=0, open writing:  /var/spool/asterisk/voicemail/default/210/tmp/IP2ufx format: wav49, 0x8518e60
    -- x=1, open writing:  /var/spool/asterisk/voicemail/default/210/tmp/IP2ufx format: wav, 0x84540c8
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/232-08486b30' in macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/232-08486b30'
    -- Executing Macro("SIP/232-08486b30", "hangupcall") in new stack
    -- Executing ResetCDR("SIP/232-08486b30", "w") in new stack
    -- Executing NoCDR("SIP/232-08486b30", "") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/232-08486b30", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing Wait("SIP/232-08486b30", "5") in new stack
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/232-08486b30' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/232-08486b30'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/232-08486b30' in macro 'dialout-trunk'
  == Spawn extension (macro-dialout-trunk, s, 20) exited non-zero on 'SIP/232-08486b30'
    -- Executing Macro("SIP/232-08486b30", "hangupcall") in new stack
    -- Executing ResetCDR("SIP/232-08486b30", "w") in new stack
    -- Executing NoCDR("SIP/232-08486b30", "") in new stack
    -- Executing GotoIf("SIP/232-08486b30", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing GotoIf("SIP/232-08486b30", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing Wait("SIP/232-08486b30", "5") in new stack
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/232-08486b30' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/232-08486b30'
    -- User hung up
    -- User hung up
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on 'IAX2/gwpco-5' in macro 'vm'
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on 'IAX2/gwpco-5'
    -- Hungup 'IAX2/gwpco-5'
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on 'IAX2/gwpco-5' in macro 'vm'
  == Spawn extension (macro-vm, s-DIRECTDIAL, 3) exited non-zero on 'IAX2/gwpco-5'
    -- Hungup 'IAX2/gwpco-5'
asterisk1*CLI>

Change History

08/01/07 09:07:18 changed by p_lindheimer

  • description changed.

08/01/07 09:14:57 changed by p_lindheimer

  • milestone deleted.

sending out the callerid name is mostly irrelevant when going out a trunk since only the number is transmitted through the pstn. (The only exception might be calling another user who has service with your same voip provider). Otherwise the final pstn connection where the call is being delivered to the recipient provides their own lookup of the name.

We'll review to make sure there isn't something being left off. (Although - I use it extensively and have not noticed anything being left off that is needed).

08/01/07 14:00:45 changed by robert

Actually this isn't true in Canada (which is where I believe pbassel is located). Some Canadian providers pass the CallerID Name out their PRI and it is presented to the recipient. This is different than it is US which only supports CNAM through LIDB.

At least this is my understanding and my experience. I have a Canadian VoIP provider for my Canadian DIDs and a US provider for my US DIDs.

08/01/07 17:17:19 changed by pbassel

Thanks Rob for the confirmation of the situation. Yes I am in Canada and yes they providers do pass the CIDs. In fact that was part of the point I was making. the text part of CID is being passed on by provider if someone dials my number from and internal extension based on the text CID that I entered into the extension definition page but it is not passed on when the call come from an outside caller.

p_lindheimer, I suspect this is a very small thing to fix but it is beyond my capabilities. If you are able to address this at some point that would be great. Thanks in advance.

One other issue I would like to ask about due to the fact I am in Canada. I can repost this elsewhere, if desired. In any case, it would be great if we could set the default language at the extension level and likely at IVR "levels" or IVR pages on web interface. The reason is that some of my users are in Quebec and they want people who call them to get answered but the system in French. There personal messages are already in French but the system recordings come out in English (as the box is setup in the English part of Canada). To get around this problem we have simply recorded messages "announcements" to be used where the system recordings would normally appear and we are able to get around the issue for about 97% of the time but for that other 3% English system recordings seem to be unavoidable. For myself, as I get calls from English and French callers, I have set up an English extension and a French extension with associated applicable recordings.

One day, it would be great if the caller could be asked what language they want to be served in, then where applicable the system uses the system recordings in that language and then when the call is sent to my phone I the system could send an xml message telling what line they are calling, what department they are calling and what language they want to be served in. I have only Aastra 480i phones and they are supposed to be able to have some xml capabilities, so it would be great if they could be used.

Thanks for all your efforts on this great project (FreePBX).

Regards

Peter Bassel Toronto, Canada

09/08/07 15:21:04 changed by p_lindheimer

  • confirmation set to Unreviewed.
  • version changed from 2.2.3 to 2.3.0.

09/17/07 23:49:59 changed by p_lindheimer

#2324 is a duplicate of this that was reported later and has a log file in it as well.

11/03/07 14:29:53 changed by p_lindheimer

  • confirmation changed from Unreviewed to Need testing.

The following patch should fix it. This patch is generated from svn/head 2.4 but should apply to a 2.3 version. It will be kept in 2.4 only until some testing can be done to role it back to 2.3.

see r5200

Index: etc/extensions.conf
===================================================================
--- etc/extensions.conf (revision 5199)
+++ etc/extensions.conf (working copy)
@@ -992,15 +992,21 @@

 ; If this came through a ringgroup or CF, then we want to retain original CID unless
 ; OUTKEEPCID_${trunknum} is set.
+; Save then CIDNAME while it is still intact in case we end up sending out this same CID
 ;
 exten => s,n,GotoIf($["${KEEPCID}" != "TRUE"]?normcid) ;Set to TRUE if coming from ringgroups, CF, etc.
 exten => s,n,GotoIf($["x${OUTKEEPCID_${ARG1}}" = "xon"]?normcid)
 exten => s,n,GotoIf($["foo${REALCALLERIDNUM}" = "foo"]?normcid) ;if not set to anything, go through normal processing
 exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM})
+exten => s,n,Set(REALCALLERIDNAME=${CALLERID(name)})

 ; We now have to make sure the CID is valid. If we find an AMPUSER with the same CID, we assume it is an internal
 ; call (would be quite a conincidence if not) and go through the normal processing to get that CID. If a device
 ; is set for this CID, then it must be internal
+; If we end up using USEROUTCID at the end, it may still be the REALCALLERIDNUM we saved above. That is determined
+; if the two are equal, AND there is no CALLERID(name) present since it has been removed by the CALLERID(all)=${USEROUTCID}
+; setting. If this is the case, then we put the orignal name back in to send out. Although the CNAME is not honored by most
+; carriers, there are cases where it is so this preserves that information to be used by those carriers who do honor it.
 ;
 exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass:normcid)

@@ -1015,8 +1021,9 @@
 exten => s,n,Set(CALLERID(all)=${TRUNKOUTCID})
 exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?report) ; check CID override for extension
 exten => s,n,Set(CALLERID(all)=${USEROUTCID})
-exten => s,n,GotoIf($["x${CALLERID(name)}"!="xhidden"]?report:hidecid) ; check CID blocking for extension
+exten => s,n,GotoIf($["x${CALLERID(name)}"!="xhidden"]?checkname:hidecid) ; check CID blocking for extension
 exten => s,n(hidecid),SetCallerPres(prohib_passed_screen) ; Only works with ISDN (T1/E1/BRI)
+exten => s,n(checkname),ExecIf($[ $[ "${CALLERID(number)}" = "${REALCALLERIDNUM}" ] & $[ "${CALLERID(name)}" = "" ] ],Set,CALLERID(name)=${REALCALLERIDNAME})
 exten => s,n(report),NoOp(CallerID set to ${CALLERID(all)})

 ; Privacy Manager Macro makes sure that any calls that don't pass the privacy manager are presented

01/05/08 18:11:57 changed by bct

Tested = working. manually made the above changes to v2.3.1.3 /etc/extensions.conf

The missing outgoing NameID in RingGroups, Follow me etc. has now been corrected.

Thank You.

01/05/08 18:28:35 changed by p_lindheimer

thanks, I'm going to have to back off the patch though although will see if I can't make an option to make it optional. There are carriers, both PRI and VOIP who have problems when sending names - in some cases completely rejecting the call.

01/06/08 18:20:50 changed by bct

Currently there is the option in the TRUNK to 'Never Override CallerID'.

If this setting were enabled by default, would that accomplish the requirements of both types of carriers?

Cheers.

01/06/08 18:28:43 changed by p_lindheimer

  • version changed from 2.3.0 to 2.4-branch.
  • milestone set to 2.4.

no - that will simply block the callerid all together from a forwarded/follow-me call and will result in using the trunk cid setting.

01/06/08 19:48:36 changed by bct

I understand. A switch to enable or disable only the NameID portion.

This should also be set on a trunk by trunk basis, as a user may subscribe to one provider that allows it, and another which would reject it.

01/06/08 21:19:16 changed by p_lindheimer

at this point it is not going to be set on a trunk by trunk basis. As it stands there are very few providers who do anything with cidname even when you send it to them - in most of the world the information is discarded. When we redo trunks / outbound routes maybe we'll accommodate it on a trunk by trunk basis but not at this point - that old code is just to ugly to keep building on top of for something as obscure as this.

01/12/08 13:59:43 changed by p_lindheimer

  • status changed from new to closed.
  • resolution set to wontfix.

r5575 reverted

revert patch to send cidname - there have been reports that some providers ignore all CID when this is done or even reject calls, and since it is rare that a provider will even look at cidname in most of the world, it has been chosen to go back to previous behavior. If there is enough feedback that an option to have the name sent out is desired, we can look at adding a conifguration switch that would allow it on a given installation

01/13/08 09:56:40 changed by bct

Hi. I will continue to use this patch (I will test it with the latest core 2.3.1.4).

I currently use three different trunk providers (Sasktel, Shaw, evoip) and all of them allow me to send my own CIDname.

My concern is that we plan on adding a forth provider shortly and IF they do not allow us to send CIDname, I will need to find a way to allow the first three to send CIDname, and the forth not to send CIDname.

Cheers,

01/21/08 12:52:02 changed by bromont

bct, how are you connecting with Shaw to send CIDname? Do you have an IP trunk to them or using their voice modem? Thanks.

01/21/08 14:47:08 changed by bct

Hi bromont. We have a Full PRI with Shaw, so we can pretty much do anything we want with it.

I will start playing with Shaw Home Phone in the next couple of months, but I anticipate that controlling CIDname is not possible with residential services.

Cheers