-
-
+
+
+
+
+ Registros simultâneos: {extension.maxRegistrations}
+
+ Criado em {formatDate(extension.createdAt)}
+
+
diff --git a/apps/frontend/src/app/app/telefonia/ramais/actions.ts b/apps/frontend/src/app/app/telefonia/ramais/actions.ts
index 89a4ef9..1e22e76 100644
--- a/apps/frontend/src/app/app/telefonia/ramais/actions.ts
+++ b/apps/frontend/src/app/app/telefonia/ramais/actions.ts
@@ -74,8 +74,11 @@ export async function revealExtensionPassword(id: string): Promise<{ ok: true; s
}
export interface UpdateExtensionInput {
- callerIdName?: string;
- callerIdNumber?: string;
+ name?: string;
+ callerIdName?: string | null;
+ callerIdNumber?: string | null;
+ context?: string;
+ codecs?: string;
maxRegistrations?: number;
callGroup?: string | null;
}
diff --git a/apps/frontend/src/lib/extension-types.ts b/apps/frontend/src/lib/extension-types.ts
index 7bc630f..19cb073 100644
--- a/apps/frontend/src/lib/extension-types.ts
+++ b/apps/frontend/src/lib/extension-types.ts
@@ -1,3 +1,6 @@
+/** Mesma lista de `apps/api/src/extensions/dto/create-extension.dto.ts::AVAILABLE_CODECS` — manter em sincronia. */
+export const AVAILABLE_CODECS = ["PCMU", "PCMA", "OPUS", "G722", "G729", "GSM"] as const;
+
export interface Extension {
id: string;
tenantId: string;
diff --git a/packages/telephony/src/directory-xml.ts b/packages/telephony/src/directory-xml.ts
index 36f20b3..32cef7c 100644
--- a/packages/telephony/src/directory-xml.ts
+++ b/packages/telephony/src/directory-xml.ts
@@ -30,6 +30,11 @@ export interface DirectoryUserParams {
* contra a documentação do FreeSWITCH antes de close (a primeira versão
* usava `call-group`, que não é lido por nada). */
callGroup?: string | null;
+ /** Lista de codecs de áudio permitidos pro ramal, separados por vírgula
+ * (ex.: "PCMU,PCMA,OPUS") — vira `absolute_codec_string`, a variável
+ * que o FreeSWITCH usa pra restringir/ordenar os codecs oferecidos na
+ * negociação SDP pra este usuário especificamente. */
+ codecs?: string;
}
/**
@@ -67,6 +72,7 @@ export function buildDirectoryUserXml(params: DirectoryUserParams): string {
${params.callGroup ? `
` : ""}
+ ${params.codecs ? `
` : ""}