From 4bdbd6fc0fd05145be69eb0549d068c9301da570 Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Fri, 7 Oct 2022 09:42:50 +0100 Subject: [PATCH] add support for adding new carrier settings for outbound register --- src/components/forms/CarrierForm.js | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/components/forms/CarrierForm.js b/src/components/forms/CarrierForm.js index e9c005f..066a2d5 100644 --- a/src/components/forms/CarrierForm.js +++ b/src/components/forms/CarrierForm.js @@ -221,6 +221,8 @@ const CarrierForm = (props) => { const refUsername = useRef(null); const refPassword = useRef(null); const refRealm = useRef(null); + const refFromUser = useRef(null); + const refFromDomain = useRef(null); const refIp = useRef([]); const refPort = useRef([]); const refInbound = useRef([]); @@ -250,6 +252,8 @@ const CarrierForm = (props) => { const [ passwordInvalid, setPasswordInvalid ] = useState(false); const [ realm, setRealm ] = useState(''); const [ realmInvalid, setRealmInvalid ] = useState(false); + const [ fromUser, setFromUser ] = useState(''); + const [ fromDomain, setFromDomain ] = useState(''); const [ sipGateways, setSipGateways ] = useState([ { sip_gateway_sid: '', @@ -276,6 +280,7 @@ const CarrierForm = (props) => { const [suportSIP, setSupportSIP] = useState(false); const [diversion, setDiversion] = useState(""); const [carrierActive, setCarrierActive] = useState(true); + const [registerHasPublicIp, setRegisterHasPublicIp] = useState(false); const [predefinedCarriers, setPredefinedCarriers] = useState([]); const [activeTab, setActiveTab] = useState('1'); const [sbcs, setSbcs] = useState([]); @@ -438,6 +443,8 @@ const CarrierForm = (props) => { setUsername(carrier.register_username || ''); setPassword(carrier.register_password || ''); setRealm(carrier.register_sip_realm || ''); + setFromUser(carrier.register_from_user || ''); + setFromDomain(carrier.register_from_domain || ''); setSipGateways(currentSipGateways.map(s => ({ sip_gateway_sid: s.sip_gateway_sid, ip: s.ipv4, @@ -473,6 +480,7 @@ const CarrierForm = (props) => { setSupportSIP(carrier.diversion ? true : false); setDiversion(carrier.diversion || ''); setCarrierActive(carrier.is_active === 1); + setRegisterHasPublicIp(carrier.register_public_ip_in_contact === 1); } else { const result = await axios({ method: 'get', @@ -1028,6 +1036,9 @@ const CarrierForm = (props) => { register_username: username ? username.trim() : null, register_password: password ? password : null, register_sip_realm: register ? realm.trim() : null, + register_from_user: register && fromUser ? fromUser.trim() : null, + register_from_domain: register && fromDomain ? fromDomain.trim() : null, + register_public_ip_in_contact: register && registerHasPublicIp ? 1 : 0, tech_prefix: techPrefix ? techPrefix.trim() : null, diversion: diversion ? diversion.trim() : null, is_active: carrierActive ? 1 : 0, @@ -1484,6 +1495,33 @@ const CarrierForm = (props) => { invalid={realmInvalid} ref={refRealm} /> + + setFromUser(e.target.value)} + placeholder="Optional: specify user part of SIP From header" + ref={refFromUser} + /> + + setFromDomain(e.target.value)} + placeholder="Optional: specify host part of SIP From header" + ref={refFromDomain} + /> + + setRegisterHasPublicIp(e.target.checked)} + /> ) : ( null