From 205f0b339690cb2360a266a9bb4be2b77264236a Mon Sep 17 00:00:00 2001 From: Julien Baron Date: Mon, 31 Aug 2026 11:16:52 +0200 Subject: [PATCH 1/3] Fix Ignored DEVICE_SIP_DTMF in chan_pjsip Quick Create #1317 --- Core.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core.class.php b/Core.class.php index e0bec676..61baa60c 100644 --- a/Core.class.php +++ b/Core.class.php @@ -237,7 +237,7 @@ public function processQuickCreate($tech, $extension, $data) { $settings['callerid']['value'] = isset($data['callerid']) ? $data['callerid'] : '' ; if($tech == "pjsip"){ - $settings['dtmfmode']['value'] = isset($data['dtmfmode']) ? $data['dtmfmode'] : "rfc4733"; + $settings['dtmfmode']['value'] = isset($data['dtmfmode']) ? $data['dtmfmode'] : $settings['dtmfmode']['value']; $settings['defaultuser']['value'] = isset($data['defaultuser']) ? $data['defaultuser'] : ""; $settings['trustrpid']['value'] = isset($data['trustrpid']) ? $data['trustrpid'] : "yes"; $settings['send_connected_line']['value'] = isset($data['send_connected_line']) ? $data['send_connected_line'] : "yes"; From 8b4c2c5c95a5ecf5e23d6d9d08a3051fb8d3105b Mon Sep 17 00:00:00 2001 From: Julien Baron Date: Mon, 31 Aug 2026 11:17:13 +0200 Subject: [PATCH 2/3] Fix Ignored DEVICE_SIP_DTMF in chan_pjsip extension creation #1317 --- functions.inc/drivers/Sip.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/functions.inc/drivers/Sip.class.php b/functions.inc/drivers/Sip.class.php index 599c31a3..cae13010 100644 --- a/functions.inc/drivers/Sip.class.php +++ b/functions.inc/drivers/Sip.class.php @@ -307,7 +307,8 @@ public function getDeviceDisplay($display, $deviceInfo, $currentcomponent, $prim $select[] = array('value' => 'info', 'text' => _('SIP INFO (application/dtmf-relay)')); $select[] = array('value' => 'inband', 'text' => _('In band audio (Not recommended)')); $tt = _("The DTMF signaling mode used by this device, usually RFC for most phones.").' [dtmfmode]'; - $tmparr['dtmfmode'] = array('prompttext' => _('DTMF Signaling'), 'value' => 'rfc2833', 'tt' => $tt, 'select' => $select, 'level' => 0); + $DEVICE_SIP_DTMF = $this->freepbx->Config->get_conf_setting('DEVICE_SIP_DTMF'); + $tmparr['dtmfmode'] = array('prompttext' => _('DTMF Signaling'), 'value' => $DEVICE_SIP_DTMF, 'tt' => $tt, 'select' => $select, 'level' => 0); unset($select); $tt = _("Re-Invite policy for this device, see Asterisk documentation for details.").' [canreinvite]'; From def6877013d8c0355db0e498a5a0d1483ae971ae Mon Sep 17 00:00:00 2001 From: Julien Baron Date: Fri, 4 Sep 2026 09:07:21 +0200 Subject: [PATCH 3/3] Add default values --- Core.class.php | 2 +- functions.inc/drivers/Sip.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Core.class.php b/Core.class.php index 61baa60c..13f5ca43 100644 --- a/Core.class.php +++ b/Core.class.php @@ -237,7 +237,7 @@ public function processQuickCreate($tech, $extension, $data) { $settings['callerid']['value'] = isset($data['callerid']) ? $data['callerid'] : '' ; if($tech == "pjsip"){ - $settings['dtmfmode']['value'] = isset($data['dtmfmode']) ? $data['dtmfmode'] : $settings['dtmfmode']['value']; + $settings['dtmfmode']['value'] = isset($data['dtmfmode']) ? $data['dtmfmode'] : ($settings['dtmfmode']['value'] ?: "rfc4733"); $settings['defaultuser']['value'] = isset($data['defaultuser']) ? $data['defaultuser'] : ""; $settings['trustrpid']['value'] = isset($data['trustrpid']) ? $data['trustrpid'] : "yes"; $settings['send_connected_line']['value'] = isset($data['send_connected_line']) ? $data['send_connected_line'] : "yes"; diff --git a/functions.inc/drivers/Sip.class.php b/functions.inc/drivers/Sip.class.php index cae13010..51bd3ee6 100644 --- a/functions.inc/drivers/Sip.class.php +++ b/functions.inc/drivers/Sip.class.php @@ -307,7 +307,7 @@ public function getDeviceDisplay($display, $deviceInfo, $currentcomponent, $prim $select[] = array('value' => 'info', 'text' => _('SIP INFO (application/dtmf-relay)')); $select[] = array('value' => 'inband', 'text' => _('In band audio (Not recommended)')); $tt = _("The DTMF signaling mode used by this device, usually RFC for most phones.").' [dtmfmode]'; - $DEVICE_SIP_DTMF = $this->freepbx->Config->get_conf_setting('DEVICE_SIP_DTMF'); + $DEVICE_SIP_DTMF = $this->freepbx->Config->get_conf_setting('DEVICE_SIP_DTMF') ?: 'rfc2833'; $tmparr['dtmfmode'] = array('prompttext' => _('DTMF Signaling'), 'value' => $DEVICE_SIP_DTMF, 'tt' => $tt, 'select' => $select, 'level' => 0); unset($select);