FreeSWITCH Click-to-Dial

dial.lua

local api = freeswitch.API();
local destNumber = argv[1];
local sourceNumber = argv[2];
local fsIP = "10.10.0.52";

if (sourceNumber) then
    local sourceDialString = "sofia/default/" .. sourceNumber .. "@" .. fsIP;
    local reply = api:execute("originate", "{'absolute_codec_string=PCMA',origination_caller_id_number=" .. destNumber .. "}" .. sourceDialString .. " " .. destNumber .. " XML default");
end

Rufaufbau für User 130 an Zielrufnummer 08003301000 initiieren:

fs_cli -x "luarun dial.lua 08003301000 130"

DTMF inband automatisch aktivieren

FreeSWITCH mit Deutsche Telekom SIP-Trunk

Beispielkonfiguration für den Betrieb eines SIP-Trunks der Deutschen Telekom an FreeSWITCH 1.6.20:

FreeSWITCH: Transcoding aktivieren

Um in FreeSWITCH ein echtes Transcoding zwischen Endpunkten mit unterschiedlichen Codecs zu ermöglichen, muss z.B. in der vars.xml, folgende Variable gesetzt werden:

Damit das auch wirklich funktioniert, ist darauf zu achten, dass diese Einstellungen ebenfalls passen:

FreeSWITCH: SIP Overlap Dial aktivieren

Das folgende Dialplan-Snippet wird am Ende des Dialplans eingefügt. Sobald ein Anruf den Dialplan komplett ohne Match durchlaufen hat, wird die SIP-Nachricht „484 Address Incomplete“ zurückgeschickt:

 

FreeSWITCH: SRTP bei abgehenden Anrufen verwenden

Anrufe an einen am FreeSWITCH registrierten Client werden immer mit „415 unsupported media type“ abgewiesen. Am Client ist TLS und Secure RTP konfiguriert.

Dieses Dialplan-Snippet sorgt dafür, dass für abgehende Anrufe immer SRTP verwendet wird, wenn der betreffende Client per TLS registriert ist.