diff --git a/src/api/types.ts b/src/api/types.ts
index e29cf3f..0a961c1 100644
--- a/src/api/types.ts
+++ b/src/api/types.ts
@@ -256,8 +256,11 @@ export interface Carrier {
e164_leading_plus: boolean;
requires_register: boolean;
register_username: null | string;
- register_sip_realm: null | string;
register_password: null | string;
+ register_sip_realm: null | string;
+ register_from_user: null | string;
+ register_from_domain: null | string;
+ register_public_ip_in_contact: boolean;
tech_prefix: null | string;
diversion: null | string;
inbound_auth_username: string;
diff --git a/src/containers/internal/views/carriers/form.tsx b/src/containers/internal/views/carriers/form.tsx
index 806e710..e583ec8 100644
--- a/src/containers/internal/views/carriers/form.tsx
+++ b/src/containers/internal/views/carriers/form.tsx
@@ -90,6 +90,9 @@ export const CarrierForm = ({
const [sipPass, setSipPass] = useState("");
const [sipRealm, setSipRealm] = useState("");
const [initialRegister, setInitialRegister] = useState(false);
+ const [fromUser, setFromUser] = useState("");
+ const [fromDomain, setFromDomain] = useState("");
+ const [regPublicIpInContact, setRegPublicIpInContact] = useState(false);
const [prefix, setPrefix] = useState("");
const [initialPrefix, setInitialPrefix] = useState(false);
@@ -146,12 +149,24 @@ export const CarrierForm = ({
if (obj.register_sip_realm) {
setSipRealm(obj.register_sip_realm);
}
+ if (obj.register_from_user) {
+ setFromUser(obj.register_from_user);
+ }
+ if (obj.register_from_domain) {
+ setFromDomain(obj.register_from_domain);
+ }
+ if (obj.register_public_ip_in_contact) {
+ setRegPublicIpInContact(obj.register_public_ip_in_contact);
+ }
if (
obj.requires_register ||
obj.register_username ||
obj.register_password ||
- obj.register_sip_realm
+ obj.register_sip_realm ||
+ obj.register_from_user ||
+ obj.register_from_domain ||
+ obj.register_public_ip_in_contact
) {
setInitialRegister(true);
} else {
@@ -456,6 +471,10 @@ export const CarrierForm = ({
register_username: sipUser.trim() || null,
register_password: sipPass.trim() || null,
register_sip_realm: sipRealm.trim() || null,
+ register_from_user: sipRegister && fromUser ? fromUser.trim() : null,
+ register_from_domain:
+ sipRegister && fromDomain ? fromDomain.trim() : null,
+ register_public_ip_in_contact: sipRegister && regPublicIpInContact,
tech_prefix: prefix.trim() || null,
diversion: diversion.trim() || null,
is_active: isActive,
@@ -675,6 +694,9 @@ export const CarrierForm = ({
setSipPass("");
setSipRealm("");
setSipRegister(false);
+ setFromUser("");
+ setFromDomain("");
+ setRegPublicIpInContact(false);
}
}}
>
@@ -737,6 +759,36 @@ export const CarrierForm = ({
required={sipRegister}
onChange={(e) => setSipRealm(e.target.value)}
/>
+
+ setFromUser(e.target.value)}
+ />
+
+ setFromDomain(e.target.value)}
+ />
+
>
)}