# Telefonia

Nesta sessão, irei detalhar particularidades da telefonia e como analisar.

# SNGREP

<div class="document" id="bkmrk-using-sngrep%EF%83%81" itemscope="itemscope" itemtype="http://schema.org/Article" role="main"><div itemprop="articleBody"><section class="tex2jax_ignore mathjax_ignore" id="bkmrk-using-sngrep%EF%83%81-main-s-1"># Using SNGREP[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#using-sngrep "Link to this heading")

</section></div></div>### Consultar chamadas SIP:

-&gt; `sngrep`

- Teclando f7 você consegue filtrar os métodos de requisição SIP [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/4KXimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/4KXimage.png)

- teclando f3 você consegue filtrar pelo número que aparece na requisição:  
    [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/kOhimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/kOhimage.png)
- Ex de ligação no sngrep:  
    [![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/scaled-1680-/cFjimage.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-01/cFjimage.png)
- **INVITE:** Indica que o usuário está sendo convidado a participar de uma sessão multimídia.
- ****Trying:**** Indica que a requisição está sendo processada.
- ****200 OK(Answer):**** Indica a confirmação de atendimento.
- ****ACK:**** Confirmação de mensagem recebida como resposta final a um INVITE.
- **OPTIONS:** Faz uma pergunta sobre quais métodos e extensões são suportados pelo servidor e pelo usuário descrito no campo de cabeçalho.
- **BYE:** **Usado para liberar os recursos associados a uma ligação e forçar a desconexão/desligamento da mesma.**
- **CANCEL:** **Cancela uma requisição que ainda esteja pendente, ou seja, em andamento.**

<div class="document" id="bkmrk-using-sngrep%EF%83%81-main-s" itemscope="itemscope" itemtype="http://schema.org/Article" role="main"><div itemprop="articleBody"><section class="tex2jax_ignore mathjax_ignore" id="bkmrk-main-screen%EF%83%81-idx%3A-co"><section id="bkmrk-main-screen%EF%83%81-idx%3A-co-1">## Main Screen[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#main-screen "Link to this heading")

- - **Idx**: Coluna do **número da linha**.
    - **Method**: Coluna do **tipo de mensagem SIP**.
    - **SIP From**: Coluna do **campo "De" (From) da mensagem SIP**.
    - **SIP To**: Coluna do **campo "Para" (To) da mensagem SIP**.
    - **Msgs**: Coluna da **quantidade numérica de mensagens**.
    - **Source**: Coluna do **IP e porta de origem**.
    - **Destination**: Coluna do **IP e porta de destino**.
    - **Call State**: Coluna do **identificador da chamada**.
    
    ![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_main.jpg)
- <div class="relative basis-auto flex-col -mb-(--composer-overlap-px) [--composer-overlap-px:28px] grow flex"><div class="flex flex-col text-sm pb-25"><article class="text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&:has([data-writing-block])>*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]" data-scroll-anchor="true" data-testid="conversation-turn-4" data-turn="assistant" data-turn-id="request-WEB:5d3c417b-fcec-4286-ae72-f6a233948522-1" dir="auto" tabindex="-1"><div class="text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] @w-sm/main:[--thread-content-margin:--spacing(6)] @w-lg/main:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)"><div class="[--thread-content-max-width:40rem] @w-lg/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn" tabindex="-1"><div class="flex max-w-full flex-col grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&]:mt-1" data-message-author-role="assistant" data-message-id="74b6fb75-09f5-4111-a8e8-46de1d99bf19" data-message-model-slug="gpt-5-2" dir="auto"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[1px]"><div class="markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling">
    - **ESC Quit**: Pressione **ESC** para sair do **sngrep**.
    - **Enter**: Mostra **mais informações** sobre a linha destacada.
    - **Space**: Ao pressionar **barra de espaço**, a linha é **selecionada**. Isso permite selecionar **múltiplas linhas** e pode ser usado junto com a opção **F2 (salvar)**.
    - **F1 Help**: Abre o **menu de ajuda**.
    - **F2 Save**: Permite **salvar a sessão atual de captura** (diálogos) em um arquivo **.pcap ou .txt**, definindo **caminho e nome do arquivo**.
    - **F3 Search**: Permite **pesquisar** de forma **mais específica e detalhada**.
    - **F4 Extended**: Mostra uma **visualização estendida**.
    - **F5 Clear**: **Limpa a tela**.
    - **F7 Filter**: Similar à busca, mas com **mais opções de filtro** para refinar os resultados.
    - **F8 Settings**: Abre as **configurações do SNGREP**, incluindo **interface, opções de captura, opções de fluxo de chamada e configurações EEP/HEP Homer**.
    - **F10**: Permite **escolher quais colunas serão exibidas** na janela do **sngrep**.
    
    </div></div></div></div><div class="mt-3 w-full empty:hidden"><div class="text-center">  
    </div></div></div></div></article></div></div><span style="color: rgb(187, 187, 187); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 2.8275em; font-weight: 400;">SPAM</span>[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#spam "Link to this heading")

</section><section id="bkmrk-user-agent%3A-a-maiori">![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_spam.jpg)

- **User-Agent**: A maioria das tentativas de **spam** mostra um **User-Agent indesejado**, como o exibido neste exemplo.

</section><section id="bkmrk-registration%EF%83%81">## Registration[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#registration "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep1.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_register.jpg)

</section><section id="bkmrk-registration-expande">## Registration Expanded[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#registration-expanded "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_register_flow.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_register_flow1.jpg)

</section><section id="bkmrk-call-setup%EF%83%81-invite-2">## Call Setup[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#call-setup "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep1.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup.jpg)

**Invite**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup1.jpg)

**200 OK**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup2.jpg)

**Call completou**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep1.jpg)

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_call_setup3.jpg)

</section><section id="bkmrk-f3-search%EF%83%81">## F3 Search[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#f3-search "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f3_search.jpg)

</section><section id="bkmrk-f7-filtro%EF%83%81">## F7 Filtro[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#f7-filter "Link to this heading")

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f7_filter.jpg)

</section><section id="bkmrk-f8-configura%C3%A7%C3%B5es%EF%83%81-in">## F8 Configurações[](https://docs.fusionpbx.com/en/latest/additional_information/sngrep.html#f8-settings "Link to this heading")

**Interface**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings.jpg)

**EEP/HEP HOMER**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings1.jpg)

**Call Flow**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings2.jpg)

**Capture**

![image](https://docs.fusionpbx.com/en/latest/_images/fusionpbx_sngrep_f8_settings3.jpg)

</section></section></div></div><footer id="bkmrk-"><div aria-label="Footer" class="rst-footer-buttons" role="navigation">  
</div></footer>

# log no grep do asterisk

**Podemos verificar o tronco e o contexto em que ele está passando em tempo real utilizando o comando a seguir**

`asterisk -rvvvvvvvvvvvvv | grep -e "9900"`

 (Pode ser colocado no lugar do 9900 o número que foi ligado ou o ramal)

Exemplo:

[![image.png](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/scaled-1680-/image.png)](https://pluriajuda.acessocloud.com/uploads/images/gallery/2026-03/image.png)

## 1. Informações iniciais da chamada

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip%2F9923-0000011c-"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip%2F9923-0000011c--1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">PJSIP/9923-0000011c is ringing  
PJSIP/9923-0000011c answered</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Indica o estado da chamada do ramal **9923** usando o driver **PJSIP**.

<div class="TyagGW_tableContainer" id="bkmrk-evento-descri%C3%A7%C3%A3o-rin"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="560" data-start="449"><thead data-end="471" data-start="449"><tr data-end="471" data-start="449"><th class="" data-col-size="sm" data-end="458" data-start="449">Evento</th><th class="" data-col-size="sm" data-end="471" data-start="458">Descrição</th></tr></thead><tbody data-end="560" data-start="488"><tr data-end="522" data-start="488"><td data-col-size="sm" data-end="498" data-start="488">ringing</td><td data-col-size="sm" data-end="522" data-start="498">O ramal está tocando</td></tr><tr data-end="560" data-start="523"><td data-col-size="sm" data-end="534" data-start="523">answered</td><td data-col-size="sm" data-end="560" data-start="534">A chamada foi atendida</td></tr></tbody></table>

</div></div>---

# 2. Início do Dialplan

<div class="relative w-full mt-4 mb-1" id="bkmrk-noop%28%22pjsip%2F9923-000"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-noop%28%22pjsip%2F9923-000-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">NoOp("PJSIP/9923-0000011c", "S - 20 - 1 - Bina Dinâmica (Solutions)")</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Parâmetro

**NoOp()**

Função usada apenas para **log/debug** dentro do dialplan.

<div class="TyagGW_tableContainer" id="bkmrk-par%C3%A2metro-valor-sign"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="937" data-start="757"><thead data-end="792" data-start="757"><tr data-end="792" data-start="757"><th class="" data-col-size="sm" data-end="769" data-start="757">Parâmetro</th><th class="" data-col-size="sm" data-end="777" data-start="769">Valor</th><th class="" data-col-size="sm" data-end="792" data-start="777">Significado</th></tr></thead><tbody data-end="937" data-start="807"><tr data-end="859" data-start="807"><td data-col-size="sm" data-end="815" data-start="807">Canal</td><td data-col-size="sm" data-end="828" data-start="815">PJSIP/9923</td><td data-col-size="sm" data-end="859" data-start="828">Canal que iniciou a chamada</td></tr><tr data-end="937" data-start="860"><td data-col-size="sm" data-end="871" data-start="860">Mensagem</td><td data-col-size="sm" data-end="900" data-start="871">S - 20 - 1 - Bina Dinâmica</td><td data-col-size="sm" data-end="937" data-start="900">Identificação do fluxo de chamada</td></tr></tbody></table>

</div></div>---

# 3. Definição de Variáveis

## 3.1 EXTERNPRC

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__externprc%3D0329"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__externprc%3D0329-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__EXTERNPRC=032988611550)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Número externo que originou ou será usado no processamento da chamada.

<div class="TyagGW_tableContainer" id="bkmrk-campo-valor-vari%C3%A1vel"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1251" data-start="1115"><thead data-end="1132" data-start="1115"><tr data-end="1132" data-start="1115"><th class="" data-col-size="sm" data-end="1123" data-start="1115">Campo</th><th class="" data-col-size="sm" data-end="1132" data-start="1123">Valor</th></tr></thead><tbody data-end="1251" data-start="1143"><tr data-end="1167" data-start="1143"><td data-col-size="sm" data-end="1154" data-start="1143">Variável</td><td data-col-size="sm" data-end="1167" data-start="1154">EXTERNPRC</td></tr><tr data-end="1192" data-start="1168"><td data-col-size="sm" data-end="1176" data-start="1168">Valor</td><td data-col-size="sm" data-end="1192" data-start="1176">032988611550</td></tr><tr data-end="1251" data-start="1193"><td data-col-size="sm" data-end="1202" data-start="1193">Escopo</td><td data-col-size="sm" data-end="1251" data-start="1202">`__` indica variável **herdada entre canais**</td></tr></tbody></table>

</div></div>---

## 3.2 ID\_LINH

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_linh%3D177254"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_linh%3D177254-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_LINH=1772545025.284)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Identificador da linha ou da sessão da chamada.

<div class="TyagGW_tableContainer" id="bkmrk-campo-descri%C3%A7%C3%A3o-id_l"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1440" data-start="1375"><thead data-end="1396" data-start="1375"><tr data-end="1396" data-start="1375"><th class="" data-col-size="sm" data-end="1383" data-start="1375">Campo</th><th class="" data-col-size="sm" data-end="1396" data-start="1383">Descrição</th></tr></thead><tbody data-end="1440" data-start="1407"><tr data-end="1440" data-start="1407"><td data-col-size="sm" data-end="1417" data-start="1407">ID\_LINH</td><td data-col-size="sm" data-end="1440" data-start="1417">ID único da chamada</td></tr></tbody></table>

</div></div>---

## 3.3 ID\_ORGANIZACAO

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_organizacao"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_organizacao-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_ORGANIZACAO=1)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Identifica a **organização/empresa** associada à chamada.

---

## 3.4 TIPOCALL

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__tipocall%3Ds%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__tipocall%3Ds%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__TIPOCALL=S)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Tipo da chamada.

<div class="TyagGW_tableContainer" id="bkmrk-valor-significado-s-"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1703" data-start="1656"><thead data-end="1679" data-start="1656"><tr data-end="1679" data-start="1656"><th class="" data-col-size="sm" data-end="1664" data-start="1656">Valor</th><th class="" data-col-size="sm" data-end="1679" data-start="1664">Significado</th></tr></thead><tbody data-end="1703" data-start="1690"><tr data-end="1703" data-start="1690"><td data-col-size="sm" data-end="1694" data-start="1690">S</td><td data-col-size="sm" data-end="1703" data-start="1694">Saída</td></tr></tbody></table>

</div></div>---

## 3.5 CHANNEL(accountcode)

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28channel%28accountc"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28channel%28accountc-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(CHANNEL(accountcode)=S--32988611550--1772545025.284)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Define o **accountcode** do canal para fins de **CDR (bilhetagem)**.

Formato:

<div class="relative w-full mt-4 mb-1" id="bkmrk-tipo--numero--idcham"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-tipo--numero--idcham-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">TIPO--NUMERO--IDCHAMADA</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 4. Execução de Scripts AGI

Os scripts são executados via **<span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Asterisk Gateway Interface</span></span>**.

---

## 4.1 Script: insCallSainte

<div class="relative w-full mt-4 mb-1" id="bkmrk-agi%28script.php%2C-insc"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-agi%28script.php%2C-insc-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">AGI(script.php, insCallSainte,032988611550,1772545025.284,177254...)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Função

Registrar a chamada no banco de dados.

### Parâmetros

<div class="TyagGW_tableContainer" id="bkmrk-ordem-par%C3%A2metro-desc"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2405" data-start="2220"><thead data-end="2253" data-start="2220"><tr data-end="2253" data-start="2220"><th class="" data-col-size="sm" data-end="2228" data-start="2220">Ordem</th><th class="" data-col-size="sm" data-end="2240" data-start="2228">Parâmetro</th><th class="" data-col-size="sm" data-end="2253" data-start="2240">Descrição</th></tr></thead><tbody data-end="2405" data-start="2268"><tr data-end="2306" data-start="2268"><td data-col-size="sm" data-end="2272" data-start="2268">1</td><td data-col-size="sm" data-end="2288" data-start="2272">insCallSainte</td><td data-col-size="sm" data-end="2306" data-start="2288">Nome da função</td></tr><tr data-end="2336" data-start="2307"><td data-col-size="sm" data-end="2311" data-start="2307">2</td><td data-col-size="sm" data-end="2326" data-start="2311">032988611550</td><td data-col-size="sm" data-end="2336" data-start="2326">Número</td></tr><tr data-end="2375" data-start="2337"><td data-col-size="sm" data-end="2341" data-start="2337">3</td><td data-col-size="sm" data-end="2358" data-start="2341">1772545025.284</td><td data-col-size="sm" data-end="2375" data-start="2358">ID da chamada</td></tr><tr data-end="2405" data-start="2376"><td data-col-size="sm" data-end="2380" data-start="2376">4</td><td data-col-size="sm" data-end="2392" data-start="2380">timestamp</td><td data-col-size="sm" data-end="2405" data-start="2392">Data/hora</td></tr></tbody></table>

</div></div>---

## 4.2 Script: insProtocolo

<div class="relative w-full mt-4 mb-1" id="bkmrk-agi%28script.php%2C-insp"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-agi%28script.php%2C-insp-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">AGI(script.php, insProtocolo,032988611550,1772545025.284,...)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Função

Gerar protocolo de atendimento.

### Parâmetros

<div class="TyagGW_tableContainer" id="bkmrk-par%C3%A2metro-descri%C3%A7%C3%A3o-"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="2701" data-start="2571"><thead data-end="2596" data-start="2571"><tr data-end="2596" data-start="2571"><th class="" data-col-size="sm" data-end="2583" data-start="2571">Parâmetro</th><th class="" data-col-size="sm" data-end="2596" data-start="2583">Descrição</th></tr></thead><tbody data-end="2701" data-start="2607"><tr data-end="2627" data-start="2607"><td data-col-size="sm" data-end="2616" data-start="2607">Número</td><td data-col-size="sm" data-end="2627" data-start="2616">Cliente</td></tr><tr data-end="2669" data-start="2628"><td data-col-size="sm" data-end="2641" data-start="2628">ID chamada</td><td data-col-size="sm" data-end="2669" data-start="2641">Identificação da ligação</td></tr><tr data-end="2701" data-start="2670"><td data-col-size="sm" data-end="2682" data-start="2670">timestamp</td><td data-col-size="sm" data-end="2701" data-start="2682">Data da ligação</td></tr></tbody></table>

</div></div>---

## 4.3 Definição do protocolo

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__protocolo%3D2603"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__protocolo%3D2603-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__PROTOCOLO=2603038511)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Número único de **protocolo de atendimento**.

---

## 4.4 Script: actBlacklistSainte

<div class="relative w-full mt-4 mb-1" id="bkmrk-agi%28script.php%2Cactbl"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-agi%28script.php%2Cactbl-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">AGI(script.php,actBlacklistSainte,032988611550,...)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Função

Verifica se o número está na **blacklist**.

<div class="TyagGW_tableContainer" id="bkmrk-poss%C3%ADvel-retorno-sig"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3092" data-start="2994"><thead data-end="3028" data-start="2994"><tr data-end="3028" data-start="2994"><th class="" data-col-size="sm" data-end="3013" data-start="2994">Possível retorno</th><th class="" data-col-size="sm" data-end="3028" data-start="3013">Significado</th></tr></thead><tbody data-end="3092" data-start="3039"><tr data-end="3063" data-start="3039"><td data-col-size="sm" data-end="3044" data-start="3039">OK</td><td data-col-size="sm" data-end="3063" data-start="3044">Número liberado</td></tr><tr data-end="3092" data-start="3064"><td data-col-size="sm" data-end="3072" data-start="3064">BLOCK</td><td data-col-size="sm" data-end="3092" data-start="3072">Número bloqueado</td></tr></tbody></table>

</div></div>---

# 5. Verificação de Horário

<div class="relative w-full mt-4 mb-1" id="bkmrk-gotoif%28%22pjsip%2F9923-0"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-gotoif%28%22pjsip%2F9923-0-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">GotoIf("PJSIP/9923-0000011c", "0?encerrar")</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Verifica condição de atendimento (exemplo: horário de atendimento).

<div class="TyagGW_tableContainer" id="bkmrk-resultado-a%C3%A7%C3%A3o-1-con"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="3340" data-start="3265"><thead data-end="3285" data-start="3265"><tr data-end="3285" data-start="3265"><th class="" data-col-size="sm" data-end="3277" data-start="3265">Resultado</th><th class="" data-col-size="sm" data-end="3285" data-start="3277">Ação</th></tr></thead><tbody data-end="3340" data-start="3296"><tr data-end="3312" data-start="3296"><td data-col-size="sm" data-end="3300" data-start="3296">1</td><td data-col-size="sm" data-end="3312" data-start="3300">continua</td></tr><tr data-end="3340" data-start="3313"><td data-col-size="sm" data-end="3317" data-start="3313">0</td><td data-col-size="sm" data-end="3340" data-start="3317">vai para `encerrar`</td></tr></tbody></table>

</div></div>---

# 6. Log informativo

<div class="relative w-full mt-4 mb-1" id="bkmrk-noop%28%22sem-conf-de-bi"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-noop%28%22sem-conf-de-bi-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">NoOp("Sem conf de Bina: 78")</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Descrição

Mensagem de debug indicando **configuração de Bina ausente**.

---

# 7. Definição de dados finais da chamada

## 7.1 ID\_PAC

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_pac%3D78%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_pac%3D78%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_PAC=78)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Identificação do paciente/cliente.

---

## 7.2 ID\_TRONCO

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__id_tronco%3D78%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__id_tronco%3D78%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__ID_TRONCO=78)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Identificação do tronco SIP utilizado.

---

## 7.3 TELEFONE

<div class="relative w-full mt-4 mb-1" id="bkmrk-set%28__telefone%3D15410"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-set%28__telefone%3D15410-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Set(__TELEFONE=1541032988611550)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Número final utilizado na discagem.

---

# 8. Discagem da chamada

<div class="relative w-full mt-4 mb-1" id="bkmrk-dial%28pjsip%2F154103298"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-dial%28pjsip%2F154103298-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Dial(PJSIP/1541032988611550@sipsolutionspuri,45,TtKkU(gravacao))</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Aplicação

**Dial()**

Responsável por realizar a chamada.

### Parâmetros

<div class="TyagGW_tableContainer" id="bkmrk-campo-valor-descri%C3%A7%C3%A3"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="4273" data-start="3984"><thead data-end="4013" data-start="3984"><tr data-end="4013" data-start="3984"><th class="" data-col-size="sm" data-end="3992" data-start="3984">Campo</th><th class="" data-col-size="sm" data-end="4000" data-start="3992">Valor</th><th class="" data-col-size="sm" data-end="4013" data-start="4000">Descrição</th></tr></thead><tbody data-end="4273" data-start="4028"><tr data-end="4063" data-start="4028"><td data-col-size="sm" data-end="4041" data-start="4028">Tecnologia</td><td data-col-size="sm" data-end="4049" data-start="4041">PJSIP</td><td data-col-size="sm" data-end="4063" data-start="4049">Driver SIP</td></tr><tr data-end="4111" data-start="4064"><td data-col-size="sm" data-end="4074" data-start="4064">Destino</td><td data-col-size="sm" data-end="4093" data-start="4074">1541032988611550</td><td data-col-size="sm" data-end="4111" data-start="4093">Número discado</td></tr><tr data-end="4156" data-start="4112"><td data-col-size="sm" data-end="4121" data-start="4112">Tronco</td><td data-col-size="sm" data-end="4140" data-start="4121">sipsolutionspuri</td><td data-col-size="sm" data-end="4156" data-start="4140">Servidor SIP</td></tr><tr data-end="4188" data-start="4157"><td data-col-size="sm" data-end="4167" data-start="4157">Timeout</td><td data-col-size="sm" data-end="4172" data-start="4167">45</td><td data-col-size="sm" data-end="4188" data-start="4172">Tempo máximo</td></tr><tr data-end="4235" data-start="4189"><td data-col-size="sm" data-end="4197" data-start="4189">Flags</td><td data-col-size="sm" data-end="4204" data-start="4197">TtKk</td><td data-col-size="sm" data-end="4235" data-start="4204">Permissões de transferência</td></tr><tr data-end="4273" data-start="4236"><td data-col-size="sm" data-end="4242" data-start="4236">U()</td><td data-col-size="sm" data-end="4253" data-start="4242">gravacao</td><td data-col-size="sm" data-end="4273" data-start="4253">executa gravação</td></tr></tbody></table>

</div></div>---

# 9. Encerramento

<div class="relative w-full mt-4 mb-1" id="bkmrk-hangup%28%29"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-hangup%28%29-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Hangup()</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Finaliza a chamada.

---

# 10. Mensagem final

<div class="relative w-full mt-4 mb-1" id="bkmrk-spawn-extension-exit"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-spawn-extension-exit-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Spawn extension exited non-zero</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Significado

O fluxo terminou retornando **código diferente de zero**, geralmente indicando:

- finalização por lógica
- retorno de AGI
- chamada encerrada

---

# Fluxo resumido da chamada

<div class="relative w-full mt-4 mb-1" id="bkmrk-ramal-9923-atende%E2%86%93de"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-ramal-9923-atende%E2%86%93de-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Ramal 9923 atende  
↓  
Define variáveis da chamada  
↓  
Registra chamada (AGI)  
↓  
Gera protocolo  
↓  
Verifica blacklist  
↓  
Valida horário  
↓  
Define tronco  
↓  
Discagem via SIP  
↓  
Gravação  
↓  
Encerramento</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# Conceitos básicos de telefonia

### Documentação Básica do Asterisk

## 1. O que é o Asterisk

O **<span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Asterisk</span></span>** é um sistema de **PBX (Private Branch Exchange)** de código aberto que permite criar uma central telefônica baseada em software.

Ele possibilita:

- Telefonia **VoIP**
- Integração com linhas SIP ou operadoras
- Filas de atendimento
- URA (menus automáticos)
- Gravação de chamadas
- Integração com sistemas externos

Arquivos principais de configuração geralmente incluem:

- `sip.conf` ou `pjsip.conf`
- `extensions.conf`
- `queues.conf`
- `voicemail.conf`

---

# 2. Ramais (Extensions)

## Conceito

**Ramais** representam **usuários ou dispositivos telefônicos** conectados ao sistema.

Cada ramal pode ser:

- Telefone IP
- Softphone
- Gateway
- Aplicação

Exemplo de configuração em **PJSIP** (`pjsip.conf`):

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5B1001%5Dtype%3Dendpointc"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5B1001%5Dtype%3Dendpointc-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[1001]  
type=endpoint  
context=interno  
disallow=all  
allow=alaw,ulaw  
auth=1001-auth  
aors=1001  
  
[1001-auth]  
type=auth  
auth_type=userpass  
username=1001  
password=senha123  
  
[1001]  
type=aor  
max_contacts=1</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Funções principais dos ramais

- Fazer chamadas internas
- Receber chamadas
- Participar de filas
- Transferir chamadas

---

# 3. Contextos

## Conceito

**Contextos** organizam regras de discagem dentro do sistema.

Eles definem:

- Quem pode ligar para quem
- Para onde uma chamada será direcionada

Configurados no arquivo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-extensions.conf"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-extensions.conf-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">extensions.conf</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Binterno%5Dexten-%3D%3E-10"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Binterno%5Dexten-%3D%3E-10-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[interno]  
  
exten =&gt; 1001,1,Dial(PJSIP/1001)  
exten =&gt; 1002,1,Dial(PJSIP/1002)  
  
exten =&gt; 2000,1,Queue(suporte)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Vantagens

- Controle de permissões
- Segurança
- Organização do dialplan

---

# 4. Troncos (Trunks)

## Conceito

**Troncos** conectam o Asterisk a **outras redes telefônicas**.

Podem ser:

- Operadora VoIP
- Outro PBX
- Gateway GSM
- Linha PSTN

Tipos comuns:

- SIP trunk
- IAX trunk

Exemplo de tronco SIP:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Boperadora%5Dtype%3Dendp"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Boperadora%5Dtype%3Dendp-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[operadora]  
type=endpoint  
transport=transport-udp  
context=entrada  
disallow=all  
allow=alaw,ulaw  
outbound_auth=operadora-auth  
aors=operadora</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Uso no dialplan:

<div class="relative w-full mt-4 mb-1" id="bkmrk-exten-%3D%3E-_0x.%2C1%2Cdial"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-exten-%3D%3E-_0x.%2C1%2Cdial-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">exten =&gt; _0X.,1,Dial(PJSIP/${EXTEN}@operadora)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Isso permite fazer chamadas externas.

---

# 5. Filas (Queues)

## Conceito

Filas são usadas para **distribuir chamadas entre agentes**.

Muito utilizadas em:

- Call centers
- Suporte técnico
- Atendimento comercial

Configuradas em:

<div class="relative w-full mt-4 mb-1" id="bkmrk-queues.conf"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-queues.conf-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">queues.conf</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Bsuporte%5Dstrategy%3Dri"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Bsuporte%5Dstrategy%3Dri-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[suporte]  
strategy=ringall  
timeout=15  
retry=5  
maxlen=10  
  
member =&gt; PJSIP/1001  
member =&gt; PJSIP/1002</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>### Estratégias de atendimento

Algumas estratégias:

- `ringall` – toca para todos
- `rrmemory` – round robin
- `leastrecent` – quem atende há mais tempo
- `fewestcalls` – menos chamadas atendidas

Uso no dialplan:

<div class="relative w-full mt-4 mb-1" id="bkmrk-exten-%3D%3E-2000%2C1%2Cqueu"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-exten-%3D%3E-2000%2C1%2Cqueu-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">exten =&gt; 2000,1,Queue(suporte)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 6. URA (IVR)

URA significa **Unidade de Resposta Audível**, ou **menu automático**.

Exemplo clássico:

> "Digite 1 para vendas, 2 para suporte."

Configurado em `extensions.conf`.

Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5Bura-principal%5Dexten"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5Bura-principal%5Dexten-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[ura-principal]  
  
exten =&gt; s,1,Answer()  
same =&gt; n,Playback(bem-vindo)  
same =&gt; n,WaitExten(10)  
  
exten =&gt; 1,1,Goto(vendas,s,1)  
exten =&gt; 2,1,Goto(suporte,s,1)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Funções comuns:

- `Playback()` → toca áudio
- `Background()` → toca áudio e espera tecla
- `WaitExten()` → aguarda digitação

---

# 7. Autenticação

A autenticação garante que **apenas dispositivos autorizados possam registrar ramais**.

Ela ocorre via:

- **Usuário**
- **Senha**
- **IP autorizado**

Exemplo:

<div class="relative w-full mt-4 mb-1" id="bkmrk-%5B1001-auth%5Dtype%3Dauth"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class=""><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-%5B1001-auth%5Dtype%3Dauth-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">[1001-auth]  
type=auth  
auth_type=userpass  
username=1001  
password=senha123</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Boas práticas:

- Senhas fortes
- Bloqueio de IP
- Uso de firewall
- Limitar tentativas

Ferramentas comuns:

- Fail2Ban
- Firewall

---

# 8. Problemas Comuns no Asterisk

## 1. Ramal não registra

Possíveis causas:

- Usuário ou senha errados
- Porta SIP bloqueada
- NAT incorreto
- IP incorreto

Comando para verificar:

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip-show-endpoints"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip-show-endpoints-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">pjsip show endpoints</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

## 2. Sem áudio (one way audio)

Problema comum em VoIP.

Causas:

- NAT
- Firewall
- RTP bloqueado

Solução:

- Configurar `rtp.conf`
- Liberar portas RTP

---

## 3. Chamadas caindo

Possíveis motivos:

- Timeout SIP
- Problemas de rede
- Codec incompatível

---

## 4. Filas não chamam agentes

Possíveis causas:

- Agentes offline
- Ramal não registrado
- Estratégia mal configurada

Verificação:

<div class="relative w-full mt-4 mb-1" id="bkmrk-queue-show"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-queue-show-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">queue show</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

## 5. URA não reconhece digitação

Pode ocorrer por:

- Codec incompatível
- Problema com DTMF

Configuração comum:

<div class="relative w-full mt-4 mb-1" id="bkmrk-dtmf_mode%3Drfc4733"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-dtmf_mode%3Drfc4733-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">dtmf_mode=rfc4733</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 9. Comandos úteis no CLI

Acessar console:

<div class="relative w-full mt-4 mb-1" id="bkmrk-asterisk--rvvv"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-asterisk--rvvv-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">asterisk -rvvv</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Comandos importantes:

Ver ramais:

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip-show-endpoints-2"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip-show-endpoints-3"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">pjsip show endpoints</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Ver registros:

<div class="relative w-full mt-4 mb-1" id="bkmrk-pjsip-show-contacts"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-pjsip-show-contacts-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">pjsip show contacts</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Ver filas:

<div class="relative w-full mt-4 mb-1" id="bkmrk-queue-show-2"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-queue-show-3"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">queue show</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>Ver canais ativos:

<div class="relative w-full mt-4 mb-1" id="bkmrk-core-show-channels"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-core-show-channels-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">core show channels</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

# 10. Fluxo típico de chamada

Fluxo comum em sistemas de atendimento:

<div class="relative w-full mt-4 mb-1" id="bkmrk-operadora%E2%86%93tronco-sip"><div class=""><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback"><div class="pe-11 pt-3"><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼ5 ͼj" dir="ltr" id="bkmrk-operadora%E2%86%93tronco-sip-1"><div class="cm-scroller"><div class="cm-content q9tKkq_readonly">Operadora  
↓  
Tronco SIP  
↓  
Contexto de entrada  
↓  
URA  
↓  
Fila  
↓  
Ramal (Agente)</div></div></div></div></div></div></div></div></div><div class=""><div class="">  
</div></div></div></div></div>---

**Resumo:**

No Asterisk:

<div class="TyagGW_tableContainer" id="bkmrk-componente-fun%C3%A7%C3%A3o-ra"><div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="5359" data-start="5117"><thead data-end="5140" data-start="5117"><tr data-end="5140" data-start="5117"><th class="" data-col-size="sm" data-end="5130" data-start="5117">Componente</th><th class="" data-col-size="sm" data-end="5140" data-start="5130">Função</th></tr></thead><tbody data-end="5359" data-start="5151"><tr data-end="5185" data-start="5151"><td data-col-size="sm" data-end="5160" data-start="5151">Ramais</td><td data-col-size="sm" data-end="5185" data-start="5160">Usuários/dispositivos</td></tr><tr data-end="5220" data-start="5186"><td data-col-size="sm" data-end="5198" data-start="5186">Contextos</td><td data-col-size="sm" data-end="5220" data-start="5198">Regras de discagem</td></tr><tr data-end="5257" data-start="5221"><td data-col-size="sm" data-end="5231" data-start="5221">Troncos</td><td data-col-size="sm" data-end="5257" data-start="5231">Conexão com operadoras</td></tr><tr data-end="5294" data-start="5258"><td data-col-size="sm" data-end="5266" data-start="5258">Filas</td><td data-col-size="sm" data-end="5294" data-start="5266">Distribuição de chamadas</td></tr><tr data-end="5320" data-start="5295"><td data-col-size="sm" data-end="5301" data-start="5295">URA</td><td data-col-size="sm" data-end="5320" data-start="5301">Menu automático</td></tr><tr data-end="5359" data-start="5321"><td data-col-size="sm" data-end="5336" data-start="5321">Autenticação</td><td data-col-size="sm" data-end="5359" data-start="5336">Segurança de acesso</td></tr></tbody></table>

</div></div>