Add presence support for ring groups
This commit is contained in:
parent
69e892e790
commit
00526b4334
|
|
@ -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
|
||||
Loading…
Reference in New Issue