External Call Blind Transfer to External Number Issue


(Thepita) #1

Hello.

I am running freepbx 15 with a Sangoma A102 pcie card, connected to our pri. Everything is working great except the following issue.

  • Someone calls in from the outside
  • Employee whom answers needs to blind transfer to another office not on system
  • Person being transferred gets “the number is not in service” recording

We can call the number we are transferring to directly with no issues.

here is the asterisk output (replaced the numbers with stand ins for privacy)
external caller - 1234567890
number being transfered to = 1212121
our callerid = 3332225555

-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] Set("DAHDI/i1/1234567890-e37", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid:13] Set("DAHDI/i1/1234567890-e37", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:14] Set("DAHDI/i1/1234567890-e37", "TRUNKOUTCID=3332225555") in new stack
-- Executing [s@macro-outbound-callerid:15] GotoIf("DAHDI/i1/1234567890-e37", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,21)
-- Executing [s@macro-outbound-callerid:21] ExecIf("DAHDI/i1/1234567890-e37", "1?Set(CALLERID(all)=3332225555)") in new stack
-- Executing [s@macro-outbound-callerid:22] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:23] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:24] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CALLERID(all)=1234567890)") in new stack
-- Executing [s@macro-outbound-callerid:25] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
-- Executing [s@macro-outbound-callerid:26] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
-- Executing [s@macro-outbound-callerid:27] Set("DAHDI/i1/1234567890-e37", "CDR(outbound_cnum)=3332225555") in new stack
-- Executing [s@macro-outbound-callerid:28] Set("DAHDI/i1/1234567890-e37", "CDR(outbound_cnam)=") in new stack
-- Executing [s@macro-dialout-trunk:14] GosubIf("DAHDI/i1/1234567890-e37", "0?sub-flp-1,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:15] Set("DAHDI/i1/1234567890-e37", "OUTNUM=1212121") in new stack
-- Executing [s@macro-dialout-trunk:16] Set("DAHDI/i1/1234567890-e37", "custom=DAHDI/r0") in new stack
-- Executing [s@macro-dialout-trunk:17] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)") in new stack
-- Executing [s@macro-dialout-trunk:18] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))") in new stack
-- Executing [s@macro-dialout-trunk:19] Macro("DAHDI/i1/1234567890-e37", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("DAHDI/i1/1234567890-e37", "") in new stack
-- Executing [s@macro-dialout-trunk:20] GotoIf("DAHDI/i1/1234567890-e37", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:21] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CONNECTEDLINE(num,i)=1212121)") in new stack
-- Executing [s@macro-dialout-trunk:22] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CONNECTEDLINE(name,i)=CID:3332225555)") in new stack
-- Executing [s@macro-dialout-trunk:23] ExecIf("DAHDI/i1/1234567890-e37", "0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)3332225555)") in new stack
-- Executing [s@macro-dialout-trunk:24] GotoIf("DAHDI/i1/1234567890-e37", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:25] ExecIf("DAHDI/i1/1234567890-e37", "1?Set(DIAL_TRUNK_OPTIONS=)") in new stack
-- Executing [s@macro-dialout-trunk:26] Dial("DAHDI/i1/1234567890-e37", "DAHDI/r0/1212121,300,b(func-apply-sipheaders^s^1,(1))") in new stack
-- DAHDI/i1/1212121-e38 Internal Gosub(func-apply-sipheaders,s,1(1)) start
-- Executing [s@func-apply-sipheaders:1] NoOp("DAHDI/i1/1212121-e38", "Applying SIP Headers to channel DAHDI/i1/1212121-e38") in new stack
-- Executing [s@func-apply-sipheaders:2] Set("DAHDI/i1/1212121-e38", "TECH=DAHDI") in new stack
-- Executing [s@func-apply-sipheaders:3] Set("DAHDI/i1/1212121-e38", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:4] While("DAHDI/i1/1212121-e38", "0") in new stack
-- Jumping to priority 12
-- Executing [s@func-apply-sipheaders:13] Return("DAHDI/i1/1212121-e38", "") in new stack

== Spawn extension (from-digital, 1212121, 1) exited non-zero on ‘DAHDI/i1/1212121-e38’
– DAHDI/i1/1212121-e38 Internal Gosub(func-apply-sipheaders,s,1(1)) complete GOSUB_RETVAL=
– Requested transfer capability: 0x00 - SPEECH
– Called DAHDI/r0/1212121
– DAHDI/i1/1212121-e38 is proceeding passing it to DAHDI/i1/1234567890-e37
– Span 1: Channel 0/13 got hangup request, cause 1
– Hungup ‘DAHDI/i1/1212121-e38’
== Everyone is busy/congested at this time (1:0/0/1)
– Executing [s@macro-dialout-trunk:27] NoOp(“DAHDI/i1/1234567890-e37”, “Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 1”) in new stack
– Executing [s@macro-dialout-trunk:28] GotoIf(“DAHDI/i1/1234567890-e37”, “0?continue,1:s-CHANUNAVAIL,1”) in new stack
– Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
– Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set(“DAHDI/i1/1234567890-e37”, “RC=1”) in new stack
– Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto(“DAHDI/i1/1234567890-e37”, “1,1”) in new stack
– Goto (macro-dialout-trunk,1,1)
– Executing [1@macro-dialout-trunk:1] Goto(“DAHDI/i1/1234567890-e37”, “s-INVALIDNMBR,1”) in new stack
– Goto (macro-dialout-trunk,s-INVALIDNMBR,1)
– Executing [s-INVALIDNMBR@macro-dialout-trunk:1] NoOp(“DAHDI/i1/1234567890-e37”, “Dial failed due to trunk reporting Address Incomplete - giving up”) in new stack
– Executing [s-INVALIDNMBR@macro-dialout-trunk:2] Progress(“DAHDI/i1/1234567890-e37”, “”) in new stack
– Executing [s-INVALIDNMBR@macro-dialout-trunk:3] Playback(“DAHDI/i1/1234567890-e37”, “ss-noservice,noanswer”) in new stack
– <DAHDI/i1/1234567890-e37> Playing ‘ss-noservice.ulaw’ (language ‘en’)


#2

By default, a blind transfer passes the caller ID of the original caller. I suspect a caller ID problem, because it’s common for PRI providers to not allow you to send a number that’s not yours, or require special settings in the PBX or on their portal. It might also be a format issue, e.g. incoming caller ID is 10 digits and provider requires 11, or vice versa.

To test, temporarily set Outbound CID for your extension to
"thepita" <1234567890>
and make a test call to your mobile, which should show 1234567890. If this fails, you can either try to fix the problem, or set up the transfer to send your main company number or some other number on your system e.g. by using an Outbound Route that overrides the caller ID.


(Thepita) #3

I do have the trunk set to block foreign caller-id

Also yes it worked when setting my caller id as described

still no luck blind transferring though


(Thepita) #4

The problem gets more interesting.

The blind transfer works fine if I call a DID straight to an extension but if a call comes in using the Any rule for inbound routes a blind transfer to an external number fails

Any Ideas?


(Dave Burgess) #5

Show us in the /var/log/asterisk/full log. This answer is the same as “Good try - guess again.” We need more information to help you.


(Thepita) #6

here is /var/log/asterisk/full for this call thread

external caller = 1111111111
External number to transfer to = 3333333
Our caller id = 9999999999

couldn’t post or upload here so did it on paste-bin

updated pastebin
https://pastebin.com/ttMaSbPh


(Thepita) #7

external caller = 1111111111
External number to transfer to = 3333333
Our caller id = 9999999999

Here is what I have found so far:

If I receive a call to a DID with an inbound route set with an extension as the destination I am able to blind xfer successfully.

Log of succesfully blind xfer: https://pastebin.com/gXCUhRhR

If I recieve a call from a DID using the any inbound route with a destination set as CFC a blind xfer does not work.

Log of unsuccessful blind xfer https://pastebin.com/ttMaSbPh

Notes:
I have block foreign CIDs set on the trunk.
We only have 1 PRI trunk
I am able to call out using whatever i want as CID (provider not blocking CID to our own)


(system) closed #8

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.