Aller au contenu principal

telephony.go (package eai)

Source : sdks/go/telephony.go. Retour à l'index de la référence du SDK Go.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe TelephonyService​

Téléphonie. Téléphonie (ADR-0173) : PBX d'entreprise, bord SIP et agents vocaux IA du tenant. Navin Enterprise garde les données (trunks, extensions, numéros, règles de routage, flux SVI, files, agents humains et IA, conférences, quotas), compile les fichiers gérés d'Asterisk, les tables de routage Kamailio et les objets LiveKit SIP par pool PBX, et les publie vers les moteurs par AMI, JSONRPC et Twirp avec versions et retour arrière ; il n'exécute jamais de commande système. Le Navin Manager installe et exploite les moteurs.

TelephonyService.AcknowledgeFraudAlert​

AcknowledgeFraudAlert(ctx context.Context, alertID string, opts ...CallOption) (json.RawMessage, error)

Acquitter une alerte de fraude. Marque l'alerte acquittée et la renvoie. Demande tenant_admin ou platform_admin. Audité sous telephony.fraud.acknowledge.

Route : /v1/telephony/fraud-alerts/{alert_id}/acknowledge (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
alertIDstringouiIdentifiant (UUID) de l'alerte de fraude.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Acquitter une alerte de fraude ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.AddQueueMember​

AddQueueMember(ctx context.Context, queueID string, body any, opts ...CallOption) (json.RawMessage, error)

Ajouter un membre à une file. Ajoute exactement une extension ou un agent humain du tenant (422 telephony_member_target ou telephony_reference_invalid). Idempotency-Key prise en compte. Demande tenant_admin ou platform_admin ; audité sous telephony.queue_member.create.

Route : /v1/telephony/queues/{queue_id}/members (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
queueIDstringouiIdentifiant (UUID) de la file.
bodyanyouiLe membre et sa pénalité.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Ajouter un membre à une file ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateAgent​

CreateAgent(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer un agent humain. Crée un agent humain dans le tenant de l'appelant et le renvoie (201). L'extension doit appartenir au tenant. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.agent.create.

Route : /v1/telephony/agents (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiL'agent humain.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un agent humain ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateBlock​

CreateBlock(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Bloquer le tenant ou une extension. Écrit la clé {tid} ou {tid}-{extension} dans la table de hachage Kamailio tenant_blocks de chaque point JSONRPC du pool (htable.sets) et renvoie le blocage (201) ; un blocage actif de même portée est renvoyé tel quel. 422 telephony_block_scope quand la portée et l'extension ne concordent pas. La tâche telephony_blocks renvoie les blocages actifs après un redémarrage de Kamailio. Demande tenant_admin ou platform_admin. Audité sous telephony.block.create, publié sous telephony.block.created.

Route : /v1/telephony/blocks (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLa portée, l'extension et le motif.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Bloquer le tenant ou une extension ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateConference​

CreateConference(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer une salle de conférence. Crée une salle de conférence dans le tenant de l'appelant et la renvoie (201). Le code PIN est en écriture seule : la réponse porte has_pin. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.conference.create.

Route : /v1/telephony/conferences (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLa salle de conférence.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une salle de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateExtension​

CreateExtension(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer une extension. Crée une extension dans le tenant de l'appelant et la renvoie (201). Le mot de passe SIP et le code PIN de messagerie sont en écriture seule : la réponse porte has_password et has_voicemail_pin. Le numéro est unique dans le tenant parmi les extensions, les files et les conférences (409 telephony_number_in_use) et ne peut ni commencer par un préfixe national ou international ni être un numéro d'urgence (422 telephony_number_reserved). Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.extension.create.

Route : /v1/telephony/extensions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiL'extension.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une extension ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateInfrastructurePool​

CreateInfrastructurePool(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer ou rafraîchir un pool PBX depuis l'inventaire du Manager. Crée (201) ou rafraîchit (200) le pool PBX lié à une instance Asterisk du Manager (manager_cluster, manager_service) : nœuds (hôte, port AMI, adresse SIP, instance du Manager, URL ARI), ami_tls, points d'accès JSONRPC et adresses Kamailio (les instances Kamailio liées à cet Asterisk, ou kamailio_service), livekit_binding (url, sip_host), noms d'utilisateur AMI et ARI et références des secrets. Un secret de l'instance liée à navin-enterprise devient env://EAI_CRED_TELEPHONY_AMI_SECRET, env://EAI_CRED_TELEPHONY_ARI_PASSWORD ou env://EAI_CRED_TELEPHONY_EPHEMERAL_SECRET (variables rendues par le Manager dans le fichier d'environnement sensible), une référence déjà présente sur le pool est gardée, jamais une valeur. Idempotent : le même inventaire ne change rien (changed: []). Répond {created, changed, pool, secrets {ami, ari, ephemeral : bound, kept ou missing}, sources {cluster_id, asterisk, kamailio, livekit, livekit_sip}, problems}. Erreurs : 404 telephony_inventory_not_found, 409 telephony_inventory_no_nodes, 422 telephony_inventory_too_large, les règles des pools (422 telephony_pool_mode, 409 telephony_name_taken). Demande platform_admin ; audité sous telephony.pbx_pool.sync (plus telephony.pbx_pool.create ou telephony.pbx_pool.update).

Route : /v1/telephony/infrastructure/pools (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiL'instance Asterisk du Manager et les options d'un nouveau pool.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer ou rafraîchir un pool PBX depuis l'inventaire du Manager ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateIvrFlow​

CreateIvrFlow(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer un flux SVI. Crée un flux SVI dans le tenant de l'appelant et le renvoie (201). Le graphe vit dans les versions du flux. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.ivr_flow.create.

Route : /v1/telephony/ivr-flows (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe flux svi.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateIvrVersion​

CreateIvrVersion(ctx context.Context, flowID string, body any, opts ...CallOption) (json.RawMessage, error)

Créer une version d'un flux SVI. Ajoute une version brouillon (numéro + 1). Le graphe est validé : un nœud start, chaque arête désigne un nœud existant, chaque nœud est accessible, touches DTMF uniques, chaque menu avec message, sorties timeout et invalid, attente de 1 à 30 secondes et 1 à 5 nouvelles tentatives ; les extensions, files et agents vocaux désignés existent dans le tenant. Le prompt d'un nœud play ou menu est un nom de son d'Asterisk ou navin:<nom>, un message déposé du tenant (POST /v1/telephony/ivr-prompts) que le plan de numérotation joue depuis son URL signée. Les problèmes répondent 422 avec chacun dans details.errors. Demande tenant_admin ou platform_admin ; audité sous telephony.ivr_flow.version.create.

Route : /v1/telephony/ivr-flows/{flow_id}/versions (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
flowIDstringouiIdentifiant (UUID) du flux SVI.
bodyanyouiLe graphe : start (identifiant de nœud) et nodes (identifiant vers nœud avec type start, play, menu, time_condition, transfer, voicemail, queue, voice_agent ou hangup).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une version d'un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateNumber​

CreateNumber(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer un numéro. Crée un numéro dans le tenant de l'appelant et le renvoie (201). Le numéro E.164 est unique sur la plateforme (409 telephony_number_taken) ; la destination doit être un objet du tenant (422 telephony_reference_invalid) ; la branche ai demande un agent vocal. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.number.create.

Route : /v1/telephony/numbers (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe numéro.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un numéro ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreatePool​

CreatePool(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Déclarer un pool PBX. Déclare un pool Asterisk installé par le Navin Manager : nœuds et leur port AMI, références des secrets AMI, ARI, JSONRPC et auth_ephemeral (openbao:// ou env://EAI_CRED_*, jamais une valeur), points d'accès et adresses Kamailio, jeux du dispatcher et liaison LiveKit. Un pool partagé n'a pas de tenant, un pool dédié en a un (422 telephony_pool_mode). Demande platform_admin ; audité sous telephony.pbx_pool.create.

Route : /v1/telephony/pbx-pools (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe pool.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déclarer un pool PBX ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateQueue​

CreateQueue(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer une file d'appels. Crée une file d'appels dans le tenant de l'appelant et la renvoie (201). Son numéro facultatif suit les règles des numéros d'extension. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.queue.create.

Route : /v1/telephony/queues (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLa file d'appels.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une file d'appels ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateRoutingRule​

CreateRoutingRule(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer une règle de routage. Crée une règle de routage dans le tenant de l'appelant et la renvoie (201). Les règles sortantes listent les trunks du tenant dans l'ordre de secours ; les règles entrantes demandent une destination du tenant. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.routing_rule.create.

Route : /v1/telephony/routing-rules (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLa règle de routage.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer une règle de routage ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateTrunk​

CreateTrunk(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer un trunk SIP. Crée un trunk SIP dans le tenant de l'appelant et le renvoie (201). Le mot de passe est en écriture seule : la réponse porte has_password. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.trunk.create.

Route : /v1/telephony/trunks (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLe trunk sip.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un trunk SIP ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.CreateVoiceAgent​

CreateVoiceAgent(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Créer un agent vocal IA. Crée un agent vocal IA dans le tenant de l'appelant et le renvoie (201). La file de secours doit appartenir au tenant. Avec une Idempotency-Key, une nouvelle tentative avec le même corps renvoie la première réponse (Idempotency-Replayed: true), un autre corps répond 409 idempotency_conflict. Les problèmes de validation répondent 422 avec chaque problème dans details.errors (code, chemin, message_en, message_fr). Demande tenant_admin ou platform_admin ; audité sous telephony.voice_agent.create.

Route : /v1/telephony/voice-agents (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiL'agent vocal ia.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer un agent vocal IA ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteAgent​

DeleteAgent(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer un agent humain. Supprime l'agent humain (204) ; les moteurs le perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.agent.delete.

Route : /v1/telephony/agents/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un agent humain ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteConference​

DeleteConference(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer une salle de conférence. Supprime la salle de conférence (204) ; les moteurs la perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.conference.delete.

Route : /v1/telephony/conferences/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une salle de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteExtension​

DeleteExtension(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer une extension. Supprime l'extension (204) ; les moteurs la perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.extension.delete.

Route : /v1/telephony/extensions/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une extension ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteIvrFlow​

DeleteIvrFlow(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer un flux SVI. Supprime le flux SVI (204) ; les moteurs le perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.ivr_flow.delete.

Route : /v1/telephony/ivr-flows/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteNumber​

DeleteNumber(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer un numéro. Supprime le numéro (204) ; les moteurs le perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.number.delete.

Route : /v1/telephony/numbers/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un numéro ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeletePool​

DeletePool(ctx context.Context, poolID string, opts ...CallOption) (json.RawMessage, error)

Supprimer un pool PBX. Supprime un pool qu'aucun tenant n'utilise (409 telephony_pool_in_use sinon) avec ses versions. Demande platform_admin ; audité sous telephony.pbx_pool.delete.

Route : /v1/telephony/pbx-pools/{pool_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un pool PBX ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeletePrompt​

DeletePrompt(ctx context.Context, promptID string, opts ...CallOption) (json.RawMessage, error)

Supprimer un message de SVI. Supprime le message et son audio (204) ; son URL de lecture répond 404 ensuite. 409 telephony_prompt_in_use (avec details.ivr_flows) tant qu'une version brouillon ou publiée d'un SVI le joue. Demande tenant_admin ou platform_admin. Audité sous telephony.ivr_prompt.delete.

Route : /v1/telephony/ivr-prompts/{prompt_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
promptIDstringouiIdentifiant (UUID) du message de SVI.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un message de SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteQueue​

DeleteQueue(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer une file d'appels. Supprime la file d'appels (204) ; les moteurs la perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.queue.delete.

Route : /v1/telephony/queues/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une file d'appels ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteRecording​

DeleteRecording(ctx context.Context, recordingID string, body any, opts ...CallOption) (json.RawMessage, error)

Supprimer un enregistrement. Supprime l'objet dans SeaweedFS et marque la ligne d'index deleted (un message vocal qui l'utilise est supprimé aussi). 409 telephony_legal_hold sous conservation légale. Demande tenant_admin ou platform_admin. Audité sous telephony.recording.delete avec le motif.

Route : /v1/telephony/recordings/{recording_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
recordingIDstringouiIdentifiant (UUID) de l'enregistrement, dans le tenant de l'appelant (l'enregistrement d'un autre tenant répond 404).
bodyanyouiMotif facultatif conservé dans la piste d'audit.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un enregistrement ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteRoutingRule​

DeleteRoutingRule(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer une règle de routage. Supprime la règle de routage (204) ; les moteurs la perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.routing_rule.delete.

Route : /v1/telephony/routing-rules/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une règle de routage ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteTrunk​

DeleteTrunk(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer un trunk SIP. Supprime le trunk SIP (204) ; les moteurs le perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.trunk.delete.

Route : /v1/telephony/trunks/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un trunk SIP ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteVoiceAgent​

DeleteVoiceAgent(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Supprimer un agent vocal IA. Supprime l'agent vocal IA (204) ; les moteurs le perdent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.voice_agent.delete.

Route : /v1/telephony/voice-agents/{item_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un agent vocal IA ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DeleteVoicemail​

DeleteVoicemail(ctx context.Context, messageID string, opts ...CallOption) (json.RawMessage, error)

Supprimer un message vocal. Supprime le message et son audio (409 telephony_legal_hold quand l'audio est conservé) et le renvoie avec l'état deleted. Permis aux lecteurs et à l'agent de la boîte. Audité sous telephony.voicemail.delete.

Route : /v1/telephony/voicemail/{message_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
messageIDstringouiIdentifiant (UUID) du message vocal.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer un message vocal ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DownloadPrompt​

DownloadPrompt(ctx context.Context, promptID string, opts ...CallOption) (*TelephonyDownloadLink, error)

Obtenir un lien de téléchargement d'un message de SVI. Répond {url, method: GET, expires_seconds: 300, expires_at, content_type, size_bytes, sha256} : une URL signée SeaweedFS valable 300 secondes ; aucun identifiant de stockage n'est renvoyé. 409 telephony_recording_unavailable quand l'objet n'est pas stocké, 503 telephony_storage_missing quand le profil de la plateforme manque, 409 storage_capability_missing quand la signature n'a pas été vérifiée. Demande tenant_admin, support_engineer, auditor ou platform_admin. Audité sous telephony.ivr_prompt.download.

Route : /v1/telephony/ivr-prompts/{prompt_id}/download (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
promptIDstringouiIdentifiant (UUID) du message de SVI.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*TelephonyDownloadLink, error). Réponse JSON décodée de l'opération « Obtenir un lien de téléchargement d'un message de SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DownloadRecording​

DownloadRecording(ctx context.Context, recordingID string, opts ...CallOption) (*TelephonyDownloadLink, error)

Obtenir un lien de téléchargement. Répond {url, method: GET, expires_seconds: 300, expires_at, content_type, size_bytes, sha256} : une URL signée SeaweedFS valable 300 secondes ; aucun identifiant de stockage n'est renvoyé. 409 telephony_recording_unavailable quand l'objet n'est pas stocké, 503 telephony_storage_missing quand le profil de la plateforme manque, 409 storage_capability_missing quand la signature n'a pas été vérifiée. Demande tenant_admin, support_engineer, auditor ou platform_admin. Audité sous telephony.recording.download avec le SHA-256 de l'URL.

Route : /v1/telephony/recordings/{recording_id}/download (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
recordingIDstringouiIdentifiant (UUID) de l'enregistrement, dans le tenant de l'appelant (l'enregistrement d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*TelephonyDownloadLink, error). Réponse JSON décodée de l'opération « Obtenir un lien de téléchargement ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.DrainPool​

DrainPool(ctx context.Context, poolID string, body any, opts ...CallOption) (json.RawMessage, error)

Drainer ou rétablir une destination du dispatcher. Fixe l'état d'une destination sur chaque Kamailio du pool (dispatcher.set_state : drain inactive, active remise en service) et renvoie le dispatcher.list de chacun. Demande platform_admin ; audité sous telephony.pbx_pool.drain ou telephony.pbx_pool.active.

Route : /v1/telephony/pbx-pools/{pool_id}/drain (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
bodyanyouiLa destination et son nouvel état.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Drainer ou rétablir une destination du dispatcher ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.EventStreams​

EventStreams(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lister les connexions d'événements AMI. État de la connexion d'événements AMI de chaque nœud (tâche telephony_events) : pool_id, node, connected, connected_at, events, reconnects, last_error, updated_at. Demande platform_admin.

Route : /v1/telephony/event-streams (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les connexions d'événements AMI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetAgent​

GetAgent(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire un agent humain. Un agent humain du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/agents/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un agent humain ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetCall​

GetCall(ctx context.Context, callID string, opts ...CallOption) (json.RawMessage, error)

Lire un appel. Un appel avec legs (une par canal Asterisk, depuis les événements Cdr), events (événements CEL, AMI, LiveKit et du worker vocal dans l'ordre du temps : source, type, occurred_at, uniqueid, channel, node, data) et recordings (mêmes champs que GET /v1/telephony/recordings). Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/calls/{call_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
callIDstringouiIdentifiant (UUID) de l'enregistrement d'appel, dans le tenant de l'appelant (l'appel d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un appel ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetConference​

GetConference(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire une salle de conférence. Une salle de conférence du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/conferences/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une salle de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetConferenceSession​

GetConferenceSession(ctx context.Context, sessionID string, opts ...CallOption) (json.RawMessage, error)

Lire une session de conférence. Une session de conférence avec ses participants (mêmes champs que la liste). Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/conference-sessions/{session_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
sessionIDstringouiIdentifiant (UUID) de la session de conférence.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une session de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetConfigVersion​

GetConfigVersion(ctx context.Context, versionID string, opts ...CallOption) (json.RawMessage, error)

Lire une version de configuration. Une version avec ses fichiers (secrets masqués), tables Kamailio, objets LiveKit, rapport de livraison par nœud (fichiers relus et comparés, sorties des rechargements, restauration), état et diff avec la version précédente. 404 quand l'appelant ne peut pas lire son pool.

Route : /v1/telephony/config-versions/{version_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
versionIDstringouiIdentifiant (UUID) de la version de configuration.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une version de configuration ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetExtension​

GetExtension(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire une extension. Une extension du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/extensions/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une extension ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetIvrFlow​

GetIvrFlow(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire un flux SVI. Un flux SVI du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/ivr-flows/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetIvrVersion​

GetIvrVersion(ctx context.Context, flowID string, version string, opts ...CallOption) (json.RawMessage, error)

Lire une version d'un flux SVI. Une version du flux avec son graphe ; 404 telephony_not_found sinon. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/ivr-flows/{flow_id}/versions/{version} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
flowIDstringouiIdentifiant (UUID) du flux SVI.
versionstringouiNuméro de version (1, 2, ...).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une version d'un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetNumber​

GetNumber(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire un numéro. Un numéro du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/numbers/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un numéro ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetPool​

GetPool(ctx context.Context, poolID string, opts ...CallOption) (json.RawMessage, error)

Lire un pool PBX. Un pool visible par l'appelant (404 sinon), champs limités sauf pour platform_admin. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/pbx-pools/{pool_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un pool PBX ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetPrompt​

GetPrompt(ctx context.Context, promptID string, opts ...CallOption) (json.RawMessage, error)

Lire un message de SVI. Un message de SVI ; playback_url n'est rempli que pour tenant_admin et platform_admin. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/ivr-prompts/{prompt_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
promptIDstringouiIdentifiant (UUID) du message de SVI.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un message de SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetQueue​

GetQueue(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire une file d'appels. Une file d'appels du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/queues/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une file d'appels ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetRecording​

GetRecording(ctx context.Context, recordingID string, opts ...CallOption) (json.RawMessage, error)

Lire un enregistrement. Un enregistrement de l'index (mêmes champs que la liste). Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/recordings/{recording_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
recordingIDstringouiIdentifiant (UUID) de l'enregistrement, dans le tenant de l'appelant (l'enregistrement d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un enregistrement ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetRoutingRule​

GetRoutingRule(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire une règle de routage. Une règle de routage du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/routing-rules/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire une règle de routage ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetTrunk​

GetTrunk(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire un trunk SIP. Un trunk SIP du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/trunks/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un trunk SIP ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.GetVoiceAgent​

GetVoiceAgent(ctx context.Context, id string, opts ...CallOption) (json.RawMessage, error)

Lire un agent vocal IA. Un agent vocal IA du tenant de l'appelant ; 404 telephony_not_found sinon. Les secrets ne sont jamais renvoyés, seulement les indicateurs has_*. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/voice-agents/{item_id} (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un agent vocal IA ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.HangUp​

HangUp(ctx context.Context, linkedID string, opts ...CallOption) (json.RawMessage, error)

Raccrocher un appel actif. Raccroche chaque canal de l'appel par l'ARI (DELETE /ari/channels/{uniqueid} sur le nœud de chaque canal), ou retire le participant SIP par le RoomService de LiveKit pour la branche IA. Répond {linkedid, results} avec un status (ok, gone, failed) par canal ; 502 telephony_control_failed quand tous les canaux ont échoué. Demande tenant_admin ou platform_admin. Audité sous telephony.call.hangup.

Route : /v1/telephony/active-calls/{linkedid}/hangup (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
linkedIDstringouilinkedid Asterisk de l'appel actif (linkedid de GET /v1/telephony/active-calls).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Raccrocher un appel actif ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.Infrastructure​

Infrastructure(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lister l'infrastructure téléphonique du Navin Manager. Lit, par la passerelle du Platform Manager (jeton d'API du Manager, X-NM-On-Behalf-Of, les permissions du Manager s'appliquent), les clusters et leurs instances asterisk, kamailio, livekit et livekit-sip. Répond {clusters, binding, problems} : chaque cluster {id, name, mode, services}, chaque service {name, catalog_service, display_name, mode, method, version, managed, state, health, admin_state, tls_enabled, config_source (manager ou defaults), config_version, bound, endpoints [{name, scheme, port, path}], nodes [{name, instance_id, host_id, hostname, fqdn, ip, component, state, desired_state, health, maintenance, host_state, addresses}], bindings {liaison: {ref, kind}}, pool ({id, name, mode} du pool PBX lié à une instance Asterisk, sinon null)}. Adresses Asterisk ami, ari, sip ; Kamailio jsonrpc (/RPC, adresse d'administration du groupe de l'hôte), sip, wss avec TLS ; LiveKit api, signal ; LiveKit SIP sip. bound vaut true pour l'instance liée à navin-enterprise. binding ne donne que des indicateurs (cluster_id, asterisk.bound, asterisk.ami_secret, asterisk.ari_secret, kamailio.bound, kamailio.ephemeral_secret, livekit.bound, livekit.api_secret, livekit_sip.bound), jamais une valeur. problems liste les instances dont le Manager a refusé la configuration (telephony_inventory_config_unreadable, valeurs par défaut du catalogue utilisées). Demande platform_admin ; 503 platform_manager_not_configured, 502 platform_manager_unreachable, un refus du Manager est relayé.

Route : /v1/telephony/infrastructure (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister l'infrastructure téléphonique du Navin Manager ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.LiftBlock​

LiftBlock(ctx context.Context, blockID string, reason string, opts ...CallOption) (json.RawMessage, error)

Lever un blocage. Supprime la clé Kamailio sur chaque point JSONRPC (htable.delete) et marque le blocage levé. Demande tenant_admin ou platform_admin. Audité sous telephony.block.lift, publié sous telephony.block.lifted.

Route : /v1/telephony/blocks/{block_id}/lift (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
blockIDstringouiIdentifiant (UUID) du blocage.
reasonstringouiMotif conservé avec le blocage et dans la piste d'audit.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lever un blocage ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListActiveCalls​

ListActiveCalls(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lister les appels actifs. Appels en cours du tenant : {items, count}, chaque élément linkedid, call_id, navin_call_id, branch, state (ringing, queued, answered), direction, from, to, extension, queue, started_at, answered_at, duration_seconds, node et channels (uniqueid, channel, state, node). Tenu à jour par les événements CEL (CHAN_START, ANSWER, CHAN_END, LINKEDID_END) et les webhooks LiveKit. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/active-calls (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les appels actifs ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListAgents​

ListAgents(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les agents humains. Les agents humains du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/agents (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les agents humains ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListBlocks​

ListBlocks(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les blocages. Blocages du tenant et de ses extensions, du plus récent au plus ancien : id, scope, extension, reason, origin (manual, automatic), alert_id, active, kamailio_key (clé de la table de hachage Kamailio tenant_blocks), kamailio (compte rendu de l'envoi par point JSONRPC), created_by, created_at, lifted_by, lifted_at, lift_reason. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/blocks (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les blocages ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListCalls​

ListCalls(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les appels. Historique des appels du tenant, du plus récent au plus ancien. Chaque élément : id, navin_call_id, linkedid, branch (pbx ou ai), direction (inbound, outbound, internal, unknown), from, from_name, to, did, extension, queue, voice_agent_id, started_at, answered_at, ended_at, duration_seconds, billsec, wait_seconds, disposition, hangup_cause, hangup_cause_text, recording_id, legs, sip_call_id, livekit_room, pbx_instance_id, node. Construit à partir des événements Cdr et CEL de l'AMI et des webhooks LiveKit. Pagination par curseur : limit (1 à 500, 50 par défaut) et le cursor opaque de next_cursor. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/calls (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les appels ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListConferenceSessions​

ListConferenceSessions(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les sessions de conférence. Sessions des salles de conférence du tenant, depuis les événements Confbridge de l'AMI, de la plus récente à la plus ancienne : id, conference_id, number, started_at, ended_at, active, participant_count, max_participants, total_joins, participants (uniqueid, channel, caller, name, joined_at), recorded, recording_id. Pagination par curseur : limit (1 à 500, 50 par défaut) et le cursor opaque de next_cursor. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/conference-sessions (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les sessions de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListConferences​

ListConferences(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les salles de conférence. Les salles de conférence du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/conferences (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les salles de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListExtensions​

ListExtensions(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les extensions. Les extensions du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/extensions (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les extensions ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListFraudAlerts​

ListFraudAlerts(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les alertes de fraude. Signaux de fraude du tenant, du plus récent au plus ancien : id, kind (cps, concurrency, destination_refused, extension_volume), severity, extension, destination, linkedid, details, status, block_id, created_at, acknowledged_at, acknowledged_by. Chaque alerte est aussi publiée sous telephony.fraud.alert. Pagination par curseur : limit (1 à 500, 50 par défaut) et le cursor opaque de next_cursor. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/fraud-alerts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les alertes de fraude ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListIvrFlows​

ListIvrFlows(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les flux SVI. Les flux SVI du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/ivr-flows (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListIvrVersions​

ListIvrVersions(ctx context.Context, flowID string, opts ...CallOption) (*Page, error)

Lister les versions d'un flux SVI. Versions du flux avec leur état (draft, published, archived) et leur graphe, par identifiant. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/ivr-flows/{flow_id}/versions (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
flowIDstringouiIdentifiant (UUID) du flux SVI.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les versions d'un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListNumbers​

ListNumbers(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les numéros. Les numéros du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/numbers (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les numéros ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListPoolVersions​

ListPoolVersions(ctx context.Context, poolID string, opts ...CallOption) (*Page, error)

Lister les versions de configuration d'un pool. Versions du pool, la plus récente d'abord, avec état, auteur, raison, sha256, le SHA-256 de chaque fichier, current (la version que les moteurs exécutent) et le rapport de livraison ; next_cursor pagine par numéro de version. Pool partagé : platform_admin ; pool dédié : les lecteurs de son tenant.

Route : /v1/telephony/pbx-pools/{pool_id}/versions (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les versions de configuration d'un pool ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListPools​

ListPools(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les pools PBX. Tous les pools pour platform_admin ; pour les autres lecteurs les pools partagés et les pools dédiés à leur tenant, avec seulement id, name, mode, tenant_id, enabled et dispatcher_set. Les références de secrets ne leur sont jamais renvoyées ; les indicateurs has_* disent si un secret est défini. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/pbx-pools (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les pools PBX ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListPrompts​

ListPrompts(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les messages de SVI. Messages de SVI du tenant, du plus récent au plus ancien (champs de la réponse du dépôt, playback_url vide). Pagination par curseur : limit (1 à 500, 50 par défaut) et le cursor opaque de next_cursor. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/ivr-prompts (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les messages de SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListQueueMembers​

ListQueueMembers(ctx context.Context, queueID string, opts ...CallOption) (*Page, error)

Lister les membres d'une file. Extensions et agents humains de la file avec leur pénalité. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/queues/{queue_id}/members (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
queueIDstringouiIdentifiant (UUID) de la file.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les membres d'une file ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListQueues​

ListQueues(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les files d'appels. Les files d'appels du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/queues (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les files d'appels ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListRecordings​

ListRecordings(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les enregistrements. Index des objets de téléphonie du tenant dans SeaweedFS, du plus récent au plus ancien. Chaque élément : id, category, status (pending, stored, failed, deleted), source (asterisk, livekit, upload, export), content_type, size_bytes, sha256, duration_seconds, encryption (ce que le stockage a indiqué, et profile_mode), call_record_id, navin_call_id, retention_until, legal_hold, created_at, stored_at, deleted_at, last_error. La clé de l'objet n'est jamais renvoyée. Pagination par curseur : limit (1 à 500, 50 par défaut) et le cursor opaque de next_cursor. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/recordings (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les enregistrements ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListRoutingRules​

ListRoutingRules(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les règles de routage. Les règles de routage du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/routing-rules (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les règles de routage ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListTrunks​

ListTrunks(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les trunks SIP. Les trunks SIP du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/trunks (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les trunks SIP ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListVoiceAgents​

ListVoiceAgents(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les agents vocaux IA. Les agents vocaux IA du tenant de l'appelant, par identifiant, limit par page (50 par défaut, 500 au plus) avec next_cursor pour la page suivante. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/voice-agents (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les agents vocaux IA ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListVoicemail​

ListVoicemail(ctx context.Context, opts ...CallOption) (*Page, error)

Lister les messages vocaux. Messages vocaux (état new ou read) du tenant, du plus récent au plus ancien : id, mailbox, extension_id, caller_number, caller_name, navin_call_id, recording_id, duration_seconds, status, read_at, received_at. Un message apparaît dès que son audio est stocké. Les lecteurs voient toutes les boîtes ; un agent humain (tout rôle) voit les boîtes des extensions auxquelles il est lié, 403 pour toute autre personne. Pagination par curseur : limit (1 à 500, 50 par défaut) et le cursor opaque de next_cursor.

Route : /v1/telephony/voicemail (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*Page, error). Réponse JSON décodée de l'opération « Lister les messages vocaux ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ListenVoicemail​

ListenVoicemail(ctx context.Context, messageID string, opts ...CallOption) (json.RawMessage, error)

Écouter un message vocal. Répond le message (message) et son lien signé. Répond {url, method: GET, expires_seconds: 300, expires_at, content_type, size_bytes, sha256} : une URL signée SeaweedFS valable 300 secondes ; aucun identifiant de stockage n'est renvoyé. 409 telephony_recording_unavailable quand l'objet n'est pas stocké, 503 telephony_storage_missing quand le profil de la plateforme manque, 409 storage_capability_missing quand la signature n'a pas été vérifiée. Permis aux lecteurs et à l'agent de la boîte. Audité sous telephony.voicemail.download.

Route : /v1/telephony/voicemail/{message_id}/listen (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
messageIDstringouiIdentifiant (UUID) du message vocal.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Écouter un message vocal ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.MarkVoicemailRead​

MarkVoicemailRead(ctx context.Context, messageID string, opts ...CallOption) (json.RawMessage, error)

Marquer un message vocal lu. Marque le message lu (ou de nouveau nouveau avec read=false) et le renvoie. Permis aux lecteurs et à l'agent de la boîte. Audité sous telephony.voicemail.read ou telephony.voicemail.unread.

Route : /v1/telephony/voicemail/{message_id}/read (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
messageIDstringouiIdentifiant (UUID) du message vocal.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Marquer un message vocal lu ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.Preview​

Preview(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Prévisualiser la configuration du tenant. Compile la configuration du seul tenant de l'appelant et la valide, sans aucune livraison : valid, errors (code, chemin, messages), les cinq fichiers Asterisk avec les secrets masqués, les entrées Kamailio, les objets LiveKit voulus et sha256. 409 telephony_not_configured sans paramètres. Demande tenant_admin ou platform_admin.

Route : /v1/telephony/preview (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prévisualiser la configuration du tenant ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.PreviewPool​

PreviewPool(ctx context.Context, poolID string, opts ...CallOption) (json.RawMessage, error)

Prévisualiser la configuration d'un pool. Compile chaque tenant du pool et valide le résultat (graphes, références, aucun contexte d'un tenant ne désignant un autre tenant, un domaine SIP pour chaque tenant qui a des extensions : telephony_sip_domain_missing sinon), sans livraison. Renvoie valid, errors, files (secrets masqués), kamailio, livekit, sha256, tenants, current_version, unchanged et diff (diff unifié par fichier avec la version publiée). Pool partagé : platform_admin ; pool dédié : son tenant_admin.

Route : /v1/telephony/pbx-pools/{pool_id}/preview (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Prévisualiser la configuration d'un pool ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.PublishIvrVersion​

PublishIvrVersion(ctx context.Context, flowID string, version string, opts ...CallOption) (json.RawMessage, error)

Publier une version d'un flux SVI. Valide à nouveau la version et en fait celle qu'utilise le compilateur ; la version publiée auparavant est archivée. Les moteurs la reçoivent à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.ivr_flow.version.publish.

Route : /v1/telephony/ivr-flows/{flow_id}/versions/{version}/publish (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
flowIDstringouiIdentifiant (UUID) du flux SVI.
versionstringouiNuméro de version (1, 2, ...).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Publier une version d'un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.PublishPool​

PublishPool(ctx context.Context, poolID string, reason string, opts ...CallOption) (*TelephonyOperation, error)

Publier la configuration d'un pool. Compile et valide le pool (422 avec chaque problème, telephony_sip_domain_missing pour un tenant qui a des extensions mais aucun domaine SIP), enregistre une nouvelle version (publishing) et répond 202 avec version_id, version, sha256 et operation_id (en-têtes Operation-Id, Operation-Location). En arrière-plan chaque nœud du pool reçoit les fichiers par AMI (CreateConfig, UpdateConfig, rechargements, relecture GetConfig), puis les tables Kamailio et les objets LiveKit SIP sont réconciliés. La version finit published ou failed (les nœuds en échec reprennent la version précédente) ; suivez-la par GET /v1/telephony/config-versions/{version_id} ou l'opération. Une publication à la fois par pool (409 telephony_publication_running). Idempotency-Key prise en compte. Pool partagé : platform_admin ; pool dédié : son tenant_admin. Audité sous telephony.config.publish puis telephony.config.published ou telephony.config.failed.

Route : /v1/telephony/pbx-pools/{pool_id}/publish (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
reasonstringouiRaison, conservée avec la version et dans l'audit.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*TelephonyOperation, error). Réponse JSON décodée de l'opération « Publier la configuration d'un pool ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.PutQuotas​

PutQuotas(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Définir les quotas de téléphonie. Remplace les quotas du tenant. Les préfixes sont + puis 1 à 8 chiffres (422 telephony_prefix_invalid). Demande platform_admin : un tenant ne relève jamais ses propres limites. Audité sous telephony.quotas.update.

Route : /v1/telephony/quotas (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLes quotas complets ; les champs omis prennent leur valeur par défaut.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir les quotas de téléphonie ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.PutRuntimeSettings​

PutRuntimeSettings(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Définir les réglages d'exécution. Remplace les réglages d'exécution. voicemail_storage atteint Asterisk à la prochaine publication du pool (messagerie de la plateforme : Record puis l'UserEvent NavinVoicemail). Demande tenant_admin ou platform_admin. Audité sous telephony.runtime_settings.update.

Route : /v1/telephony/runtime-settings (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLes réglages complets ; les champs omis prennent leur valeur par défaut.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir les réglages d'exécution ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.PutSettings​

PutSettings(ctx context.Context, body any, opts ...CallOption) (json.RawMessage, error)

Définir les paramètres de téléphonie. Crée ou remplace les paramètres du tenant. Le domaine SIP est unique sur la plateforme (409 telephony_domain_taken). Changer model ou pbx_instance_id demande platform_admin (403 sinon) ; le pool doit être partagé ou dédié à ce tenant et correspondre au modèle (422 telephony_pool_mode). Demande tenant_admin ou platform_admin ; audité sous telephony.settings.update.

Route : /v1/telephony/settings (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
bodyanyouiLes paramètres complets ; les champs omis prennent leur valeur par défaut.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir les paramètres de téléphonie ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.Quotas​

Quotas(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lire les quotas de téléphonie. Quotas et limites anti-fraude du tenant (valeurs par défaut avec configured: false s'ils n'ont jamais été définis) : appels simultanés et appels par seconde (poussés dans tenant_limits de Kamailio), minutes mensuelles, pays autorisés, préfixes surtaxés, durée maximale d'appel (dialplan) et conservation des enregistrements. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/quotas (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les quotas de téléphonie ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.ReconcilePool​

ReconcilePool(ctx context.Context, poolID string, opts ...CallOption) (json.RawMessage, error)

Réconcilier le routage d'un pool. Compare les tables de hachage Kamailio et les trunks et règles de dispatch LiveKit SIP avec la version publiée et corrige les écarts (idempotent : rien ne change quand ils correspondent). Un Kamailio dont core.uptime a baissé a redémarré et reçoit à nouveau toutes les entrées (full_resync). 409 telephony_nothing_published avant la première publication. Mêmes rôles que la publication ; audité sous telephony.config.reconcile.

Route : /v1/telephony/pbx-pools/{pool_id}/reconcile (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Réconcilier le routage d'un pool ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.RemoveQueueMember​

RemoveQueueMember(ctx context.Context, queueID string, memberID string, opts ...CallOption) (json.RawMessage, error)

Retirer un membre d'une file. Retire le membre (204). Demande tenant_admin ou platform_admin ; audité sous telephony.queue_member.delete.

Route : /v1/telephony/queues/{queue_id}/members/{member_id} (DELETE).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
queueIDstringouiIdentifiant (UUID) de la file.
memberIDstringouiIdentifiant (UUID) du membre de la file.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Retirer un membre d'une file ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.RollbackPool​

RollbackPool(ctx context.Context, poolID string, version int, reason string, opts ...CallOption) (*TelephonyOperation, error)

Revenir à une version d'un pool. Publie à nouveau les fichiers, tables et objets LiveKit d'une version antérieure published ou rolled_back comme une nouvelle version (rollback_of), en opération longue comme la publication (202). Une fois publiée, les versions ultérieures deviennent rolled_back. 409 telephony_rollback_target pour un autre état. Mêmes rôles que la publication ; audité sous telephony.config.rollback.

Route : /v1/telephony/pbx-pools/{pool_id}/rollback (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
versionintouiNuméro de la version à publier à nouveau.
reasonstringouiRaison, conservée avec la version et dans l'audit.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*TelephonyOperation, error). Réponse JSON décodée de l'opération « Revenir à une version d'un pool ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.RuntimeSettings​

RuntimeSettings(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lire les réglages d'exécution. Stockage de la messagerie vocale et seuils de fraude du tenant (configured false et les valeurs par défaut quand ils n'ont jamais été définis). Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/runtime-settings (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les réglages d'exécution ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.SetLegalHold​

SetLegalHold(ctx context.Context, recordingID string, legalHold bool, reason string, opts ...CallOption) (json.RawMessage, error)

Définir la conservation légale d'un enregistrement. Pose ou lève la conservation légale : un enregistrement conservé n'est jamais supprimé, ni par l'API ni par la tâche de conservation. Demande tenant_admin ou platform_admin. Audité sous telephony.recording.legal_hold avec le motif.

Route : /v1/telephony/recordings/{recording_id}/legal-hold (PUT).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
recordingIDstringouiIdentifiant (UUID) de l'enregistrement, dans le tenant de l'appelant (l'enregistrement d'un autre tenant répond 404).
legalHoldboolouitrue : conserver l'enregistrement ; false : lever la conservation.
reasonstringouiMotif conservé dans la piste d'audit (300 caractères au plus).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Définir la conservation légale d'un enregistrement ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.Settings​

Settings(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lire les paramètres de téléphonie. Paramètres de téléphonie du tenant de l'appelant : modèle, domaine SIP, pool PBX, conservation des CDR, plan de numérotation, et tid, l'identifiant court sous lequel les moteurs connaissent le tenant. configured: false s'ils n'ont jamais été définis. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/settings (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les paramètres de téléphonie ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.Stats​

Stats(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

Lire les statistiques en direct. Chiffres de tableau de bord du tenant calculés à partir des tables d'appels : active_calls, active_by_state, active_by_branch, calls, answered, answer_rate, average_billsec, average_wait_seconds, calls_per_hour (hour, calls, answered, inbound, outbound), queues (queue, sla_seconds, offered, answered, abandoned, waiting, average_wait_seconds, max_wait_seconds, sla = part répondue dans le niveau de service de la file, abandon_rate), agents (états des membres de file : queue, interface, extension, member_name, device_status, paused, paused_reason, in_call, calls_taken, updated_at), registrations (extension, status, contacts, updated_at), open_fraud_alerts, active_blocks, generated_at, window_hours. Demande tenant_admin, support_engineer, auditor ou platform_admin.

Route : /v1/telephony/stats (GET).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire les statistiques en direct ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.Transfer​

Transfer(ctx context.Context, linkedID string, body any, opts ...CallOption) (json.RawMessage, error)

Transférer un appel actif. Transfère un canal de l'appel : Redirect AMI vers {tid}-internal (extension du tenant, 422 telephony_reference_invalid quand elle n'existe pas) ou {tid}-outbound (numéro E.164, les permissions et règles de destination du plan de numérotation s'appliquent) ; pour la branche IA, TransferSIPParticipant de LiveKit (SIP REFER). continue et redirect de l'ARI ne sont pas utilisés : ils n'agissent que sur les canaux d'une application Stasis. Répond {linkedid, target, status, via, uniqueid} ; 502 telephony_control_failed en cas de refus. Demande tenant_admin ou platform_admin. Audité sous telephony.call.transfer.

Route : /v1/telephony/active-calls/{linkedid}/transfer (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
linkedIDstringouilinkedid Asterisk de l'appel actif (linkedid de GET /v1/telephony/active-calls).
bodyanyouiLa cible et, au besoin, le canal à déplacer.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Transférer un appel actif ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateAgent​

UpdateAgent(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier un agent humain. Modifie seulement les champs envoyés et renvoie l'agent humain ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.agent.update.

Route : /v1/telephony/agents/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un agent humain ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateConference​

UpdateConference(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier une salle de conférence. Modifie seulement les champs envoyés et renvoie la salle de conférence ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.conference.update.

Route : /v1/telephony/conferences/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une salle de conférence ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateExtension​

UpdateExtension(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier une extension. Modifie seulement les champs envoyés et renvoie l'extension ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.extension.update.

Route : /v1/telephony/extensions/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une extension ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateIvrFlow​

UpdateIvrFlow(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier un flux SVI. Modifie seulement les champs envoyés et renvoie le flux SVI ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.ivr_flow.update.

Route : /v1/telephony/ivr-flows/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un flux SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateNumber​

UpdateNumber(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier un numéro. Modifie seulement les champs envoyés et renvoie le numéro ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.number.update.

Route : /v1/telephony/numbers/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un numéro ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdatePool​

UpdatePool(ctx context.Context, poolID string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier un pool PBX. Modifie les champs envoyés du pool. Demande platform_admin ; audité sous telephony.pbx_pool.update.

Route : /v1/telephony/pbx-pools/{pool_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
poolIDstringouiIdentifiant (UUID) du pool PBX.
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un pool PBX ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateQueue​

UpdateQueue(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier une file d'appels. Modifie seulement les champs envoyés et renvoie la file d'appels ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.queue.update.

Route : /v1/telephony/queues/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une file d'appels ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateQueueMember​

UpdateQueueMember(ctx context.Context, queueID string, memberID string, penalty int, opts ...CallOption) (json.RawMessage, error)

Modifier la pénalité d'un membre de file. Fixe la pénalité du membre (0 sonne en premier). Demande tenant_admin ou platform_admin ; audité sous telephony.queue_member.update.

Route : /v1/telephony/queues/{queue_id}/members/{member_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
queueIDstringouiIdentifiant (UUID) de la file.
memberIDstringouiIdentifiant (UUID) du membre de la file.
penaltyintouiNouvelle pénalité, 0 à 100.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier la pénalité d'un membre de file ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateRoutingRule​

UpdateRoutingRule(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier une règle de routage. Modifie seulement les champs envoyés et renvoie la règle de routage ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.routing_rule.update.

Route : /v1/telephony/routing-rules/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier une règle de routage ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateTrunk​

UpdateTrunk(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier un trunk SIP. Modifie seulement les champs envoyés et renvoie le trunk SIP ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.trunk.update.

Route : /v1/telephony/trunks/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un trunk SIP ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UpdateVoiceAgent​

UpdateVoiceAgent(ctx context.Context, id string, body any, opts ...CallOption) (json.RawMessage, error)

Modifier un agent vocal IA. Modifie seulement les champs envoyés et renvoie l'agent vocal IA ; les contrôles de la création s'appliquent. Un secret envoyé remplace celui conservé (nouvelle version dans le coffre). Les moteurs reçoivent la modification à la prochaine publication du pool. Demande tenant_admin ou platform_admin ; audité sous telephony.voice_agent.update.

Route : /v1/telephony/voice-agents/{item_id} (PATCH).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
idstringouiIdentifiant (UUID) de l'objet, dans le tenant de l'appelant (l'objet d'un autre tenant répond 404).
bodyanyouiLes champs à modifier.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Modifier un agent vocal IA ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.UploadPrompt​

UploadPrompt(ctx context.Context, name string, wav []byte, opts ...CallOption) (json.RawMessage, error)

Déposer un message de SVI. Corps brut : un fichier WAV PCM (Content-Type: audio/wav, 415 telephony_prompt_type sinon, 413 telephony_prompt_size au-delà de 10 Mo, 422 telephony_prompt_invalid quand il n'est pas lisible, 422 telephony_prompt_format quand il n'est pas en 8000 Hz, 16 bits, mono, le seul WAV que lit le format wav d'Asterisk). Le fichier passe par la chaîne de sécurité des fichiers (422 file_blocked, 503 file_scan_unavailable), est stocké dans la catégorie ivr-prompts (sans expiration) et répond 201 avec id, name, recording_id, content_type, size_bytes, sha256, duration_seconds, scan_id, created_at et playback_url, l'URL signée que joue un SVI. 409 telephony_name_taken quand le nom est pris. Demande tenant_admin ou platform_admin. Audité sous telephony.ivr_prompt.create.

Route : /v1/telephony/ivr-prompts (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
namestringouiNom du message, unique dans le tenant (minuscules, chiffres, -).
wav[]byteouiOctets bruts du fichier WAV, envoyés tels quels avec Content-Type: audio/wav.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Déposer un message de SVI ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

TelephonyService.WebRTCCredentials​

WebRTCCredentials(ctx context.Context, extensionID string, ttlSeconds int, opts ...CallOption) (*TelephonyWebRTCCredentials, error)

Obtenir des identifiants WebRTC. Identifiants SIP éphémères d'une extension WebRTC pour le module auth_ephemeral de Kamailio : username <expiration>:<point de terminaison>, password base64(HMAC-SHA1(secret partagé, username)), expires_at (une heure au plus), sip_uri sip:<point de terminaison>@<domaine SIP> (le softphone s'enregistre et appelle avec le nom de son point de terminaison comme utilisateur From et To, l'utilisateur que Kamailio vérifie avec les identifiants), ws_url, realm, endpoint (<tid>-<extension>) et number (le numéro de l'extension, pour l'affichage). Le mot de passe SIP de l'extension n'atteint jamais le navigateur. Permis pour tenant_admin, platform_admin et l'agent humain lié à l'extension (404 pour toute autre personne). 409 telephony_not_webrtc ou telephony_not_configured. Audité sous telephony.webrtc.credentials.

Route : /v1/telephony/webrtc/credentials (POST).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
extensionIDstringouiExtension WebRTC du tenant.
ttlSecondsintouiDurée de vie des identifiants, 60 à 3600 secondes (3600 par défaut).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (*TelephonyWebRTCCredentials, error). Réponse JSON décodée de l'opération « Obtenir des identifiants WebRTC ». L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error, les erreurs typées du transport (Erreurs).

GET présigné renvoyé pour un enregistrement ou un message de SVI, valable ExpiresSeconds secondes.

Champs :

NomTypeRequisDescription
URL (url)stringouiURL présignée pour lire l'audio par un simple GET, sans identifiants.
Method (method)stringouiMéthode HTTP à utiliser sur l'URL, toujours GET.
ExpiresSeconds (expires_seconds)intouiDurée de validité de l'URL en secondes (300).
ExpiresAt (expires_at)stringouiDate d'expiration de l'URL, au format ISO 8601.
ContentType (content_type)stringouiType de média de l'audio, par exemple audio/wav.
SizeBytes (size_bytes)int64ouiTaille de l'objet audio en octets.
SHA256 (sha256)stringouiSHA-256 de l'audio stocké, pour vérifier les octets téléchargés.

Modèle TelephonyWebRTCCredentials​

Identifiants SIP éphémères d'un poste WebRTC (une heure au plus), pour le module auth_ephemeral de Kamailio.

Champs :

NomTypeRequisDescription
Username (username)stringouiNom d'utilisateur SIP, horodatage d'expiration et endpoint joints par deux points.
Password (password)stringouiMot de passe SIP signé par le Control Plane pour ce nom d'utilisateur.
ExpiresAt (expires_at)stringouiDate d'expiration des identifiants, au format ISO 8601.
TTLSeconds (ttl_seconds)intouiSecondes restantes avant l'expiration des identifiants.
SIPURI (sip_uri)stringouiURI SIP à enregistrer, sip:<endpoint>@<domaine>.
WSURL (ws_url)stringouiAdresse WebSocket sécurisée du proxy SIP pour le softphone.
Realm (realm)stringouiDomaine d'authentification SIP, le domaine SIP du tenant.
Endpoint (endpoint)stringouiNom de l'endpoint du poste sur le PBX.
Number (number)stringouiNuméro du poste.

Modèle TelephonyOperation​

Réponse 202 d'une publication ou d'un retour arrière : la nouvelle version de configuration et l'opération longue qui la livre (à suivre avec Operations.Get).

Champs :

NomTypeRequisDescription
OperationID (operation_id)stringouiIdentifiant de l'opération longue qui livre la version.
VersionID (version_id)stringouiIdentifiant de la version de configuration créée.

Modèle TelephonyCallFilter​

Filtres de ListCalls ; les champs vides ne sont pas envoyés.

Champs :

NomTypeRequisDescription
DirectionstringouiSens de l'appel : inbound, outbound, internal ou unknown.
BranchstringouiBranche qui a traité l'appel : pbx ou ai.
ExtensionstringouiNuméro de poste (2 à 8 chiffres).
QueuestringouiNom de la file d'attente.
NumberstringouiNuméro appelant ou appelé.
DispositionstringouiIssue de l'appel : ANSWERED, NO ANSWER, BUSY, FAILED ou CONGESTION.
Sincetime.TimeouiAppels commencés à cette date ou après (envoyée en UTC, RFC 3339).
Untiltime.TimeouiAppels commencés avant cette date (envoyée en UTC, RFC 3339).
Answered*boolnonSeulement les appels décrochés (true) ou non décrochés (false) ; nil n'envoie aucun filtre.

Fonctions​

WithTelephonyCallFilter​

WithTelephonyCallFilter(f TelephonyCallFilter) CallOption

WithTelephonyCallFilter transforme un TelephonyCallFilter en paramètres de requête de ListCalls.

NomTypeDéfautRequisDescription
fTelephonyCallFilterouiFiltres à envoyer ; les champs vides et un Answered à nil sont omis.

Retour : CallOption. Une CallOption à passer à ListCalls, combinable avec WithLimit et WithCursor.