Follow me to cell phone, no audio

I have setup a virtual extension with follow me containing my cell phone number, I then toggle call flow on my desk phone when I leave the office. Upon answering the call however, no audio is coming through on either sides. I’ve verified the public IP address is correct, and I’ve tried opening ports 5060 and 10001-20000 UDP in my firewall, no luck. Codec being used is ulaw, also checked the phone codec.

I have two trunks from Vitelity, one for inbound, one for outbound.

Call Flow

Inbound > call flow toggle > time condition > extension > follow me

This sounds like an RTP problem (as do all one-way audio problems).

In your SIP Settings, try the different RTP settings and see if that helps. I think I ended up using NONAT to get mine to work.

I tried yes, no, never, and route, none of them worked, log below.

  == Spawn extension (from-internal, h, 1) exited non-zero on 'Local/FMPR-262@f
om-internal-00000015;2'
    -- Executing [FMGL-4077544844#@from-internal:5] GotoIf("Local/FMGL-40775448
4#@from-internal-00000016;2", "1?start") in new stack
    -- Goto (from-internal,FMGL-4077544844#,3)
    -- Executing [FMGL-4077544844#@from-internal:3] GotoIf("Local/FMGL-40775448
4#@from-internal-00000016;2", "0?dodnd") in new stack
    -- Executing [FMGL-4077544844#@from-internal:4] Wait("Local/FMGL-4077544844
@from-internal-00000016;2", "1") in new stack
    -- Executing [FMGL-4077544844#@from-internal:5] GotoIf("Local/FMGL-40775448
4#@from-internal-00000016;2", "0?start") in new stack
    -- Executing [FMGL-4077544844#@from-internal:6] Set("Local/FMGL-4077544844#
from-internal-00000016;2", "SHARED(FM_DND,SIP/vitel-inbound-0000001c)=") in new
stack
    -- Executing [FMGL-4077544844#@from-internal:7] Macro("Local/FMGL-407754484
#@from-internal-00000016;2", "dial,28,tr,4077544844#") in new stack
    -- Executing [s@macro-dial:1] GotoIf("Local/FMGL-4077544844#@from-internal-
0000016;2", "0?dial") in new stack
    -- Executing [s@macro-dial:2] SetMusicOnHold("Local/FMGL-4077544844#@from-i
ternal-00000016;2", "default") in new stack
    -- Executing [s@macro-dial:3] AGI("Local/FMGL-4077544844#@from-internal-000
0016;2", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
 dialparties.agi: Starting New Dialparties.agi
 dialparties.agi: Caller ID name is '+14077584754' number is '4077584754'
       > dialparties.agi: USE_CONFIRMATION:  'FALSE'
       > dialparties.agi: RINGGROUP_INDEX:   ''
 dialparties.agi: Methodology of ring is  'ringall'
    -- dialparties.agi: Added extension 4077544844# to extension map
    -- dialparties.agi: Extension 4077544844# cf is disabled
       > dialparties.agi: extnum 4077544844# has:  cw: 0; hascfb: 0 [] hascfu:
 []
       > dialparties.agi: Built External dialstring component for 4077544844: L
cal/4077544844@from-internal/n
    -- dialparties.agi: Filtered ARG3: 4077544844
       > dialparties.agi: NODEST: 262 adding M(auto-blkvm) to dialopts: trM(aut
-blkvm)
       > dialparties.agi: NODEST: 262 blkvm enabled macro already in dialopts:
rM(auto-blkvm)
    -- <Local/FMGL-4077544844#@from-internal-00000016;2>AGI Script dialparties.
gi completed, returning 0
    -- Executing [s@macro-dial:7] Dial("Local/FMGL-4077544844#@from-internal-00
00016;2", "Local/4077544844@from-internal/n,28,trM(auto-blkvm)") in new stack
    -- Called Local/4077544844@from-internal/n
    -- Local/FMGL-4077544844#@from-internal-00000016;1 is ringing
    -- Executing [4077544844@from-internal:1] Macro("Local/4077544844@from-inte
nal-00000017;2", "user-callerid,LIMIT,EXTERNAL,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("Local/4077544844@from-internal-
0000017;2", "TOUCH_MONITOR=1423862613.76") in new stack
    -- Executing [s@macro-user-callerid:2] Set("Local/4077544844@from-internal-
0000017;2", "AMPUSER=4077584754") in new stack
    -- Executing [s@macro-user-callerid:3] GotoIf("Local/4077544844@from-intern
l-00000017;2", "0?report") in new stack
    -- Executing [s@macro-user-callerid:4] ExecIf("Local/4077544844@from-intern
l-00000017;2", "1?Set(REALCALLERIDNUM=4077584754)") in new stack
    -- Executing [s@macro-user-callerid:5] Set("Local/4077544844@from-internal-
0000017;2", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("Local/4077544844@from-intern
l-00000017;2", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:7] Set("Local/4077544844@from-internal-
0000017;2", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:8] GotoIf("Local/4077544844@from-intern
l-00000017;2", "1?report") in new stack
    -- Goto (macro-user-callerid,s,14)
    -- Executing [s@macro-user-callerid:14] GotoIf("Local/4077544844@from-inter
al-00000017;2", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,27)
    -- Executing [s@macro-user-callerid:27] Set("Local/4077544844@from-internal
00000017;2", "CALLERID(number)=4077584754") in new stack
    -- Executing [s@macro-user-callerid:28] Set("Local/4077544844@from-internal
00000017;2", "CALLERID(name)=+14077584754") in new stack
    -- Executing [s@macro-user-callerid:29] Set("Local/4077544844@from-internal
00000017;2", "CDR(cnum)=4077584754") in new stack
    -- Executing [s@macro-user-callerid:30] Set("Local/4077544844@from-internal
00000017;2", "CDR(cnam)=+14077584754") in new stack
    -- Executing [s@macro-user-callerid:31] Set("Local/4077544844@from-internal
00000017;2", "CHANNEL(language)=en") in new stack
    -- Executing [4077544844@from-internal:2] Set("Local/4077544844@from-intern
l-00000017;2", "MOHCLASS=default") in new stack
    -- Executing [4077544844@from-internal:3] Set("Local/4077544844@from-intern
l-00000017;2", "_NODEST=") in new stack
    -- Executing [4077544844@from-internal:4] Gosub("Local/4077544844@from-inte
nal-00000017;2", "sub-record-check,s,1(out,4077544844,)") in new stack
    -- Executing [s@sub-record-check:1] Set("Local/4077544844@from-internal-000
0017;2", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [s@sub-record-check:2] GotoIf("Local/4077544844@from-internal-
0000017;2", "1?check") in new stack
    -- Goto (sub-record-check,s,7)
    -- Executing [s@sub-record-check:7] Set("Local/4077544844@from-internal-000
0017;2", "__MON_FMT=wav") in new stack
    -- Executing [s@sub-record-check:8] GotoIf("Local/4077544844@from-internal-
0000017;2", "1?next") in new stack
    -- Goto (sub-record-check,s,11)
    -- Executing [s@sub-record-check:11] ExecIf("Local/4077544844@from-internal
00000017;2", "0?Return()") in new stack
    -- Executing [s@sub-record-check:12] ExecIf("Local/4077544844@from-internal
00000017;2", "0?Set(__REC_POLICY_MODE=)") in new stack
    -- Executing [s@sub-record-check:13] GotoIf("Local/4077544844@from-internal
00000017;2", "1?out,1") in new stack
    -- Goto (sub-record-check,out,1)
    -- Executing [out@sub-record-check:1] ExecIf("Local/4077544844@from-interna
-00000017;2", "1?Set(__REC_POLICY_MODE=)") in new stack
    -- Executing [out@sub-record-check:2] GosubIf("Local/4077544844@from-intern
l-00000017;2", "0?record,1(exten,4077544844,4077584754)") in new stack
    -- Executing [out@sub-record-check:3] Return("Local/4077544844@from-interna
-00000017;2", "") in new stack
    -- Executing [4077544844@from-internal:5] Macro("Local/4077544844@from-inte
nal-00000017;2", "dialout-trunk,4,4077544844,,off") in new stack
    -- Executing [s@macro-dialout-trunk:1] Set("Local/4077544844@from-internal-
0000017;2", "DIAL_TRUNK=4") in new stack
    -- Executing [s@macro-dialout-trunk:2] GosubIf("Local/4077544844@from-inter
al-00000017;2", "0?sub-pincheck,s,1()") in new stack
    -- Executing [s@macro-dialout-trunk:3] GotoIf("Local/4077544844@from-intern
l-00000017;2", "0?disabletrunk,1") in new stack
    -- Executing [s@macro-dialout-trunk:4] Set("Local/4077544844@from-internal-
0000017;2", "DIAL_NUMBER=4077544844") in new stack
    -- Executing [s@macro-dialout-trunk:5] Set("Local/4077544844@from-internal-
0000017;2", "DIAL_TRUNK_OPTIONS=tr") in new stack
    -- Executing [s@macro-dialout-trunk:6] Set("Local/4077544844@from-internal-
0000017;2", "OUTBOUND_GROUP=OUT_4") in new stack
    -- Executing [s@macro-dialout-trunk:7] GotoIf("Local/4077544844@from-intern
l-00000017;2", "0?nomax") in new stack
    -- Executing [s@macro-dialout-trunk:8] GotoIf("Local/4077544844@from-intern
l-00000017;2", "0?chanfull") in new stack
    -- Executing [s@macro-dialout-trunk:9] GotoIf("Local/4077544844@from-intern
l-00000017;2", "0?skipoutcid") in new stack
    -- Executing [s@macro-dialout-trunk:10] Set("Local/4077544844@from-internal
00000017;2", "DIAL_TRUNK_OPTIONS=") in new stack
    -- Executing [s@macro-dialout-trunk:11] Macro("Local/4077544844@from-intern
l-00000017;2", "outbound-callerid,4") in new stack
    -- Executing [s@macro-outbound-callerid:1] ExecIf("Local/4077544844@from-in
ernal-00000017;2", "1?Set(CALLERPRES()=allowed_not_screened)") in new stack
    -- Executing [s@macro-outbound-callerid:2] ExecIf("Local/4077544844@from-in
ernal-00000017;2", "0?Set(REALCALLERIDNUM=4077584754)") in new stack
    -- Executing [s@macro-outbound-callerid:3] GotoIf("Local/4077544844@from-in
ernal-00000017;2", "0?normcid") in new stack
    -- Executing [s@macro-outbound-callerid:4] Set("Local/4077544844@from-inter
al-00000017;2", "USEROUTCID=4077584754") in new stack
    -- Executing [s@macro-outbound-callerid:5] GotoIf("Local/4077544844@from-in
ernal-00000017;2", "1?bypass") in new stack
    -- Goto (macro-outbound-callerid,s,7)
    -- Executing [s@macro-outbound-callerid:7] Set("Local/4077544844@from-inter
al-00000017;2", "EMERGENCYCID=") in new stack
    -- Executing [s@macro-outbound-callerid:8] Set("Local/4077544844@from-inter
al-00000017;2", "TRUNKOUTCID=eFusion Systems <4072932234>") in new stack
    -- Executing [s@macro-outbound-callerid:9] GotoIf("Local/4077544844@from-in
ernal-00000017;2", "1?trunkcid") in new stack
    -- Goto (macro-outbound-callerid,s,14)
    -- Executing [s@macro-outbound-callerid:14] ExecIf("Local/4077544844@from-i
ternal-00000017;2", "1?Set(CALLERID(all)=eFusion Systems <4072932234>)") in new
stack
    -- Executing [s@macro-outbound-callerid:15] ExecIf("Local/4077544844@from-i
ternal-00000017;2", "1?Set(CALLERID(all)=4077584754)") in new stack
    -- Executing [s@macro-outbound-callerid:16] ExecIf("Local/4077544844@from-i
ternal-00000017;2", "0?Set(CALLERID(all)=)") in new stack
    -- Executing [s@macro-outbound-callerid:17] ExecIf("Local/4077544844@from-i
ternal-00000017;2", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
    -- Executing [s@macro-outbound-callerid:18] Set("Local/4077544844@from-inte
nal-00000017;2", "CDR(outbound_cnum)=4077584754") in new stack
    -- Executing [s@macro-outbound-callerid:19] Set("Local/4077544844@from-inte
nal-00000017;2", "CDR(outbound_cnam)=") in new stack
    -- Executing [s@macro-dialout-trunk:12] GosubIf("Local/4077544844@from-inte
nal-00000017;2", "0?sub-flp-4,s,1()") in new stack
    -- Executing [s@macro-dialout-trunk:13] Set("Local/4077544844@from-internal
00000017;2", "OUTNUM=4077544844") in new stack
    -- Executing [s@macro-dialout-trunk:14] Set("Local/4077544844@from-internal
00000017;2", "custom=SIP/vitel-outbound") in new stack
    -- Executing [s@macro-dialout-trunk:15] ExecIf("Local/4077544844@from-inter
al-00000017;2", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack
    -- Executing [s@macro-dialout-trunk:16] ExecIf("Local/4077544844@from-inter
al-00000017;2", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack
    -- Executing [s@macro-dialout-trunk:17] Macro("Local/4077544844@from-intern
l-00000017;2", "dialout-trunk-predial-hook,") in new stack
    -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("Local/407754
844@from-internal-00000017;2", "") in new stack
    -- Executing [s@macro-dialout-trunk:18] GotoIf("Local/4077544844@from-inter
al-00000017;2", "0?bypass,1") in new stack
    -- Executing [s@macro-dialout-trunk:19] ExecIf("Local/4077544844@from-inter
al-00000017;2", "0?Set(CONNECTEDLINE(num,i)=4077544844)") in new stack
    -- Executing [s@macro-dialout-trunk:20] ExecIf("Local/4077544844@from-inter
al-00000017;2", "0?Set(CONNECTEDLINE(name,i)=CID:4077584754)") in new stack
    -- Executing [s@macro-dialout-trunk:21] GotoIf("Local/4077544844@from-inter
al-00000017;2", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:22] Dial("Local/4077544844@from-interna
-00000017;2", "SIP/vitel-outbound/4077544844,300,") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called SIP/vitel-outbound/4077544844
    -- SIP/vitel-outbound-0000001d is making progress passing it to Local/40775
4844@from-internal-00000017;2
    -- Local/4077544844@from-internal-00000017;1 is making progress passing it
o Local/FMGL-4077544844#@from-internal-00000016;2
    -- SIP/vitel-outbound-0000001d answered Local/4077544844@from-internal-0000
017;2
    -- Local/4077544844@from-internal-00000017;1 answered Local/FMGL-4077544844
@from-internal-00000016;2
    -- Executing [s@macro-auto-blkvm:1] Set("Local/4077544844@from-internal-000
0017;1", "__MACRO_RESULT=") in new stack
    -- Executing [s@macro-auto-blkvm:2] Set("Local/4077544844@from-internal-000
0017;1", "CFIGNORE=") in new stack
    -- Executing [s@macro-auto-blkvm:3] Set("Local/4077544844@from-internal-000
0017;1", "MASTER_CHANNEL(CFIGNORE)=") in new stack
    -- Executing [s@macro-auto-blkvm:4] Set("Local/4077544844@from-internal-000
0017;1", "FORWARD_CONTEXT=from-internal") in new stack
    -- Executing [s@macro-auto-blkvm:5] Set("Local/4077544844@from-internal-000
0017;1", "MASTER_CHANNEL(FORWARD_CONTEXT)=from-internal") in new stack
    -- Executing [s@macro-auto-blkvm:6] Macro("Local/4077544844@from-internal-0
000017;1", "blkvm-clr,") in new stack
    -- Executing [s@macro-blkvm-clr:1] Set("Local/4077544844@from-internal-0000
017;1", "SHARED(BLKVM,SIP/vitel-inbound-0000001c)=") in new stack
    -- Executing [s@macro-blkvm-clr:2] Set("Local/4077544844@from-internal-0000
017;1", "GOSUB_RETVAL=") in new stack
    -- Executing [s@macro-blkvm-clr:3] MacroExit("Local/4077544844@from-interna
-00000017;1", "") in new stack
    -- Executing [s@macro-auto-blkvm:7] ExecIf("Local/4077544844@from-internal-
0000017;1", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(num))=4077544844@from-internal/
)") in new stack
    -- Executing [s@macro-auto-blkvm:8] ExecIf("Local/4077544844@from-internal-
0000017;1", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(name))=)") in new stack
    -- Local/FMGL-4077544844#@from-internal-00000016;1 answered SIP/vitel-inbou
d-0000001c
    -- Executing [s@macro-auto-blkvm:1] Set("Local/FMGL-4077544844#@from-intern
l-00000016;1", "__MACRO_RESULT=") in new stack
    -- Executing [s@macro-auto-blkvm:2] Set("Local/FMGL-4077544844#@from-intern
l-00000016;1", "CFIGNORE=") in new stack
    -- Executing [s@macro-auto-blkvm:3] Set("Local/FMGL-4077544844#@from-intern
l-00000016;1", "MASTER_CHANNEL(CFIGNORE)=") in new stack
    -- Executing [s@macro-auto-blkvm:4] Set("Local/FMGL-4077544844#@from-intern
l-00000016;1", "FORWARD_CONTEXT=from-internal") in new stack
    -- Executing [s@macro-auto-blkvm:5] Set("Local/FMGL-4077544844#@from-intern
l-00000016;1", "MASTER_CHANNEL(FORWARD_CONTEXT)=from-internal") in new stack
    -- Executing [s@macro-auto-blkvm:6] Macro("Local/FMGL-4077544844#@from-inte
nal-00000016;1", "blkvm-clr,") in new stack
    -- Executing [s@macro-blkvm-clr:1] Set("Local/FMGL-4077544844#@from-interna
-00000016;1", "SHARED(BLKVM,SIP/vitel-inbound-0000001c)=") in new stack
    -- Executing [s@macro-blkvm-clr:2] Set("Local/FMGL-4077544844#@from-interna
-00000016;1", "GOSUB_RETVAL=") in new stack
    -- Executing [s@macro-blkvm-clr:3] MacroExit("Local/FMGL-4077544844#@from-i
ternal-00000016;1", "") in new stack
    -- Executing [s@macro-auto-blkvm:7] ExecIf("Local/FMGL-4077544844#@from-int
rnal-00000016;1", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(num))=FMGL-4077544844#@fr
m-internal)") in new stack
    -- Executing [s@macro-auto-blkvm:8] ExecIf("Local/FMGL-4077544844#@from-int
rnal-00000016;1", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(name))=)") in new stack
    -- Executing [h@macro-dialout-trunk:1] Macro("Local/4077544844@from-interna
-00000017;2", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("Local/4077544844@from-internal-
0000017;2", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] ExecIf("Local/4077544844@from-internal-
0000017;2", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] Hangup("Local/4077544844@from-internal-
0000017;2", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/4077544
44@from-internal-00000017;2' in macro 'hangupcall'
  == Spawn extension (macro-dialout-trunk, h, 1) exited non-zero on 'Local/4077
44844@from-internal-00000017;2'
  == Spawn extension (macro-dialout-trunk, s, 22) exited non-zero on 'Local/407
544844@from-internal-00000017;2' in macro 'dialout-trunk'
  == Spawn extension (from-internal, 4077544844, 5) exited non-zero on 'Local/4
77544844@from-internal-00000017;2'
    -- Executing [h@macro-dial:1] Macro("Local/FMGL-4077544844#@from-internal-0
000016;2", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("Local/FMGL-4077544844#@from-int
rnal-00000016;2", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] ExecIf("Local/FMGL-4077544844#@from-int
rnal-00000016;2", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] Hangup("Local/FMGL-4077544844#@from-int
rnal-00000016;2", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/FMGL-40
7544844#@from-internal-00000016;2' in macro 'hangupcall'
  == Spawn extension (macro-dial, h, 1) exited non-zero on 'Local/FMGL-40775448
4#@from-internal-00000016;2'
  == Spawn extension (macro-dial, s, 7) exited non-zero on 'Local/FMGL-40775448
4#@from-internal-00000016;2' in macro 'dial'
  == Spawn extension (from-internal, FMGL-4077544844#, 7) exited non-zero on 'L
cal/FMGL-4077544844#@from-internal-00000016;2'
    -- Executing [h@macro-dial:1] Macro("SIP/vitel-inbound-0000001c", "hangupca
l") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/vitel-inbound-0000001c", "1
theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] ExecIf("SIP/vitel-inbound-0000001c", "0
Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] Hangup("SIP/vitel-inbound-0000001c", ""
 in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/vitel-inb
und-0000001c' in macro 'hangupcall'
  == Spawn extension (macro-dial, h, 1) exited non-zero on 'SIP/vitel-inbound-0
00001c'
  == Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/vitel-inbound-0
00001c' in macro 'dial'
  == Spawn extension (from-did-direct, 262, 22) exited non-zero on 'SIP/vitel-i
bound-0000001c'

From your logs:-

>    -- Called SIP/vitel-outbound/4077544844
>    -- SIP/vitel-outbound-0000001d is making progress passing it to Local/40775
>  4844@from-internal-00000017;2
>    -- Local/4077544844@from-internal-00000017;1 is making progress passing it
>  to  Local/FMGL-4077544844#@from-internal-00000016;2
>     -- SIP/vitel-outbound-0000001d answered Local/4077544844@from-internal-0000
> 017;2
>     -- Local/4077544844@from-internal-00000017;1 answered Local/FMGL-4077544844
> @from-internal-00000016;2

It looks like your inbound vitelity trunk answered your call before your cell phone and , check your various forwardings for loops or misconfiguration. . .

There’s really nothing to check, I have a virtual extension set up, and under its follow me settings, I have one number under the list followed by a # symbol.

Why, when you call that number does another call come in immediately on your inbound trunk with that same but munged DID ?

Are you talking about the +1 number? Not sure why.

So I tested something and it works. When I have the incoming route go to an announcement, and the announcement to an extension with follow me, it works and I can get audio both ways.