bind_digit_action for B-leg during internal call (#6157)

The existing code only binds properly when one leg
is not internal.  Here we use LUA to bind the bleg
for internal calls.
This commit is contained in:
yois615
2021-12-15 16:45:04 -05:00
committed by GitHub
parent 0e7438fdbc
commit 84fdf89b34
2 changed files with 44 additions and 0 deletions

View File

@@ -16,5 +16,10 @@
<!-- <action application="bind_digit_action" data="local,*0,exec:execute_extension,conf_xfer_from_dialplan XML conf-xfer@${domain_name},${bind_target},${bind_action_target}"/> -->
<action application="digit_action_set_realm" data="local"/>
</condition>
<condition field="${user_exists}" expression="true"/>
<condition field="${from_user_exists}" expression="true">
<action application="set" data="bridge_pre_execute_bleg_app=lua"/>
<action application="set" data="bridge_pre_execute_bleg_data=bind_digit_bleg.lua ${context}"/>
</condition>
</extension>
</context>

View File

@@ -0,0 +1,39 @@
--
-- FusionPBX
-- Version: MPL 1.1
--
-- The contents of this file are subject to the Mozilla Public License Version
-- 1.1 (the "License"); you may not use this file except in compliance with
-- the License. You may obtain a copy of the License at
-- http://www.mozilla.org/MPL/
--
-- Software distributed under the License is distributed on an "AS IS" basis,
-- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-- for the specific language governing rights and limitations under the
-- License.
--
-- The Original Code is FusionPBX
--
-- The Initial Developer of the Original Code is
-- Mark J Crane <markjcrane@fusionpbx.com>
-- Copyright (C) 2021
-- the Initial Developer. All Rights Reserved.
--
-- Contributor(s):
-- Joseph A Nadiv <ynadiv@corpit.xyz>
--include config.lua
require "resources.functions.config";
--create the api object
api = freeswitch.API();
require "resources.functions.channel_utils";
--get context variable
local context = argv[1];
--bind to bleg
session:execute("bind_digit_action", "local,*1,exec:execute_extension,dx XML ".. context .. ",self,self");
session:execute("bind_digit_action", "local,*3,exec:execute_extension,cf XML ".. context .. ",self,self");
session:execute("bind_digit_action", "local,*4,exec:execute_extension,att_xfer XML ".. context .. ",self,self");
session:execute("digit_action_set_realm", "local");