mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 11:43:50 +00:00
Add presence support for ring groups
This commit is contained in:
@@ -47,6 +47,7 @@
|
||||
require "resources.functions.file_exists";
|
||||
require "resources.functions.channel_utils"
|
||||
require "resources.functions.format_ringback"
|
||||
require "resources.functions.send_presence";
|
||||
|
||||
--- include libs
|
||||
local route_to_bridge = require "resources.functions.route_to_bridge"
|
||||
@@ -978,6 +979,9 @@
|
||||
freeswitch.consoleLog("NOTICE", "[ring group] app_data: "..app_data.."\n");
|
||||
-- log.noticef("bridge begin: originate_disposition:%s answered:%s ready:%s bridged:%s", session:getVariable("originate_disposition"), session:answered() and "true" or "false", session:ready() and "true" or "false", session:bridged() and "true" or "false")
|
||||
if (ring_group_strategy ~= "rollover") then
|
||||
if (session:getVariable("ring_group_send_presence") == "true") then
|
||||
send_presence(uuid, ring_group_extension.."@"..domain_name, "early");
|
||||
end
|
||||
session:execute("bridge", app_data);
|
||||
end
|
||||
-- log.noticef("bridge done: originate_disposition:%s answered:%s ready:%s bridged:%s", session:getVariable("originate_disposition"), session:answered() and "true" or "false", session:ready() and "true" or "false", session:bridged() and "true" or "false")
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
function send_presence(uuid, from, state, direction)
|
||||
local event = freeswitch.Event('PRESENCE_IN');
|
||||
event:addHeader('Unique-ID', uuid);
|
||||
event:addHeader('proto', "any");
|
||||
event:addHeader('from', from);
|
||||
event:addHeader('login', from);
|
||||
event:addHeader('event_type', "presence");
|
||||
event:addHeader('alt_event_type', "dialog");
|
||||
event:addHeader('Presence-Call-Direction', direction or 'outbound');
|
||||
event:addHeader('answer-state', state);
|
||||
event:fire();
|
||||
end
|
||||
Reference in New Issue
Block a user