Follow Me issue on latest version - Multi Tenant

Hello,

After upgrading to version 3.2.3-4, I bumped in to an issue where Follow Me calls that passed a tenant trunk had to press 1 twice to accept the call,
After reviewing the dialplan I found that it applies the U dial option at the tenant trunk then again at the SIP trunk, I believe this was done to fix the force recording on tenant trunks, however, setting the APP_RECORDING variable should be enough to force recording, as it’s not being reset anywhere.

See old and new tenant trunk dialplans below

OLD

exten => _[-+*#0-9a-zA-Z].,1,NoOp(Trunk: Tenant Trunk)
 same => n,NoOp(Dialing: ${EXTEN})
 same => n,Set(CDR(trunk)=87)
 same => n,Set(SKIP_HANGUP_AUDIOS=no)
 same => n,Gosub(sub-setup-call-type,s,1(outgoing,${ICALL}))
 same => n,ExecIf($["${DB(${TENANT}/force_default_external_cid)}"="yes"]?Set(CALLERID(all)=${DB(${TENANT}/default_external_cid)}):)
 same => n,GotoIf(${DB_EXISTS(${TENANT}/allowed_sim_calls)}?:after-val-sim-calls)
 same => n,Set(MAX_TENANT_CALLS=${DB(${TENANT}/allowed_sim_calls)})
 same => n,Set(TENANT_NAME=${DB(${TENANT}/name)})
 same => n,GotoIf($[${MAX_TENANT_CALLS}>0]?:after-val-sim-calls)
 same => n,NoOp(Allowed Simultaneous Calls for ${TENANT_NAME}: ${MAX_TENANT_CALLS})
 same => n,Set(GROUP()=${TENANT})
 same => n,NoOp(Current calls in progress: ${GROUP_COUNT()})
 same => n,GotoIf($[${GROUP_COUNT()} > ${MAX_TENANT_CALLS}]?:trk-conf)
 same => n,NoOp(The Tenant has reached the maximum number of allowed outbound calls)
 same => n,Set(DIALSTATUS=CONGESTION)
 same => n,Goto(after_dial)
 same => n(after-val-sim-calls),NoOp()
 same => n(trk-conf),NoOp(Configuring Trunk Parameters)
 same => n,ExecIf($["${TRUNK_MOH_SET}"!="yes"]?Set(CHANNEL(musicclass)=default):)
 same => n,Set(__TRUNK_MOH_SET=yes)
 same => n,Set(DIAL_PREFIX=)
 same => n,Set(__TRKDIALOPTIONS=ktr)
 same => n,Set(ORIGINATOR=${IF($["${CALL_ORIGIN}"="diversions"]?${DIVERSION_ORIGIN}:${CALL_SOURCE})})
 same => n,Set(RING_TIME=${IF($["X${O_RING_TIME}X"="XX"]?90:${O_RING_TIME})})
 same => n,Set(CALLED=${EXTEN})
 same => n,Set(TRUNK_ENDPOINT=T50_)
 same => n,Set(__CALL_TYPE_CONFIGURED=no)
 same => n,Dial(Local/${DIAL_PREFIX}${EXTEN}@T50-outbound)
 same => n(after_dial),NoOp(After Dial)
 same => n,GotoIf($[$["${ARG1}"="from-trk-grp"]|$["${RETURN_ON_EXTERNAL}"="yes"]]?come-back)
 same => n,Hangup()
 same => n(come-back),Return()

NEW

exten => _[-+*#0-9a-zA-Z].,1,NoOp(Trunk: Tenant Trunk)
 same => n,NoOp(Dialing: ${EXTEN})
 same => n,Set(CDR(trunk)=87)
 same => n,Set(SKIP_HANGUP_AUDIOS=no)
 same => n,Gosub(sub-setup-call-type,s,1(outgoing,${ICALL}))
 same => n,ExecIf($["${DB(${TENANT}/force_default_external_cid)}"="yes"]?Set(CALLERID(all)=${DB(${TENANT}/default_external_cid)}):)
 same => n,GotoIf(${DB_EXISTS(${TENANT}/allowed_sim_calls)}?:after-val-sim-calls)
 same => n,Set(MAX_TENANT_CALLS=${DB(${TENANT}/allowed_sim_calls)})
 same => n,Set(TENANT_NAME=${DB(${TENANT}/name)})
 same => n,GotoIf($[${MAX_TENANT_CALLS}>0]?:after-val-sim-calls)
 same => n,NoOp(Allowed Simultaneous Calls for ${TENANT_NAME}: ${MAX_TENANT_CALLS})
 same => n,Set(GROUP()=${TENANT})
 same => n,NoOp(Current calls in progress: ${GROUP_COUNT()})
 same => n,GotoIf($[${GROUP_COUNT()} > ${MAX_TENANT_CALLS}]?:trk-conf)
 same => n,NoOp(The Tenant has reached the maximum number of allowed outbound calls)
 same => n,Set(DIALSTATUS=CONGESTION)
 same => n,Goto(after_dial)
 same => n(after-val-sim-calls),NoOp()
 same => n(trk-conf),NoOp(Configuring Trunk Parameters)
 same => n,ExecIf($["${TRUNK_MOH_SET}"!="yes"]?Set(CHANNEL(musicclass)=default):)
 same => n,Set(__TRUNK_MOH_SET=yes)
 same => n,Set(DIAL_PREFIX=)
 same => n,Set(__TRKDIALOPTIONS=ktr)
 same => n,Set(ORIGINATOR=${IF($["${CALL_ORIGIN}"="diversions"]?${DIVERSION_ORIGIN}:${CALL_SOURCE})})
 same => n,Set(RING_TIME=${IF($["X${O_RING_TIME}X"="XX"]?90:${O_RING_TIME})})
 same => n,Set(CALLED=${EXTEN})
 same => n,Set(TRUNK_ENDPOINT=T50_)
 same => n,NoOp(Force Recording by Trunk)
 same => n,Set(APP_RECORDING=yes)
 same => n,Set(__CALL_TYPE_CONFIGURED=no)
 same => n,Dial(Local/${DIAL_PREFIX}${EXTEN}@T50-outbound,${RING_TIME},${TRKDIALOPTIONS}U(sub-before-bridging-call^${TENANT}^${ORIGINATOR}^${EXTEN}^${APP_RECORDING}))
 same => n(after_dial),NoOp(After Dial)
 same => n,GotoIf($[$["${ARG1}"="from-trk-grp"]|$["${RETURN_ON_EXTERNAL}"="yes"]]?come-back)
 same => n,Hangup()
 same => n(come-back),Return()

I’d appreciate if this can be fixed soon, as it’s quite annoying to press 1 twice in order to answer a call.

Thank you.

1 Like

13 posts were split to a new topic: FollowMe outbound help

:face_with_monocle: Wow, that is a great tip as well. Everyone has been extremely helpful