diff --git a/conf/curl/autoload_configs/opal.conf.xml b/conf/curl/autoload_configs/opal.conf.xml index c0844214a3..280b69304e 100644 --- a/conf/curl/autoload_configs/opal.conf.xml +++ b/conf/curl/autoload_configs/opal.conf.xml @@ -1,15 +1,21 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/conf/insideout/autoload_configs/opal.conf.xml b/conf/insideout/autoload_configs/opal.conf.xml index c0844214a3..280b69304e 100644 --- a/conf/insideout/autoload_configs/opal.conf.xml +++ b/conf/insideout/autoload_configs/opal.conf.xml @@ -1,15 +1,21 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/conf/vanilla/autoload_configs/opal.conf.xml b/conf/vanilla/autoload_configs/opal.conf.xml index 2378d1d6e0..280b69304e 100644 --- a/conf/vanilla/autoload_configs/opal.conf.xml +++ b/conf/vanilla/autoload_configs/opal.conf.xml @@ -1,20 +1,21 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/src/mod/endpoints/mod_opal/mod_opal.cpp b/src/mod/endpoints/mod_opal/mod_opal.cpp index 15d86f6106..1becc0dcc2 100644 --- a/src/mod/endpoints/mod_opal/mod_opal.cpp +++ b/src/mod/endpoints/mod_opal/mod_opal.cpp @@ -364,6 +364,15 @@ switch_status_t FSManager::ReadConfig(int reload) m_codecPrefs = val; } else if (var == "disable-transcoding") { m_disableTranscoding = switch_true(val); + } else if (var == "dtmf-type") { + if (val == "string") + m_h323ep->SetSendUserInputMode(OpalConnection::SendUserInputAsString); + else if (val == "signal") + m_h323ep->SetSendUserInputMode(OpalConnection::SendUserInputAsTone); + else if (val == "rfc2833") + m_h323ep->SetSendUserInputMode(OpalConnection::SendUserInputAsRFC2833); + else if (val == "in-band") + m_h323ep->SetSendUserInputMode(OpalConnection::SendUserInputInBand); } else if (var == "jitter-size") { SetAudioJitterDelay(val.AsUnsigned(), val.Mid(val.Find(',')+1).AsUnsigned()); // In milliseconds } else if (var == "gk-address") { @@ -649,6 +658,7 @@ PBoolean FSConnection::SendUserInputTone(char tone, unsigned duration) return false; switch_dtmf_t dtmf = { tone, duration }; + PTRACE(4, "mod_opal\tSending DTMF to FS: tone=" << tone << ", duration=" << duration); return switch_channel_queue_dtmf(m_fsChannel, &dtmf) == SWITCH_STATUS_SUCCESS; } @@ -925,6 +935,7 @@ switch_status_t FSConnection::kill_channel(int sig) switch_status_t FSConnection::send_dtmf(const switch_dtmf_t *dtmf) { + PTRACE(4, "mod_opal\tReceived DTMF from FS: tone=" << dtmf->digit << ", duration=" << dtmf->duration); OnUserInputTone(dtmf->digit, dtmf->duration); return SWITCH_STATUS_SUCCESS; }