Skip to content

community (#5)#7

Merged
berzersks merged 2 commits intospechdialerfrom
master
Dec 23, 2025
Merged

community (#5)#7
berzersks merged 2 commits intospechdialerfrom
master

Conversation

@berzersks
Copy link
Collaborator

  • Refatoração e remoção de funcionalidades obsoletas no processamento SIP/RTP


Alterações técnicas:

  1. Remoção de propriedades e funções não utilizadas no mediaChannel.php:

    • Elementos removidos: - Propriedades relacionadas ao rastreamento de timeouts, perda de pacotes (timeoutHistory, packetLossWindow), entre outros. - Funções auxiliares como calculateAdaptiveTimeout e updateConnectionHealth foram eliminadas, dado que não apresentavam uso no fluxo atual do código.
    • Motivação: Simplificar o código ao remover lógica redundante e propriedades não utilizadas.
  2. Ajustes na manipulação de pacotes RTP:

    • Foi alterado o tempo de espera no recebimento de pacotes (recvfrom) de 0.2 para 0.5 segundos.
    • Modificação no tipo de dado enviado ao construir pacotes de silêncio para codificação PCM, passando a utilizar bytes únicos, em vez de duplicados.
  3. Correção no mecanismo de resampling para codec G729:

    • Ajuste na manipulação de frequências no resampler, garantindo que o codec G729 funcione apenas com frequência de 8000 Hz.
  4. Adições relacionadas ao codec OPUS:

    • Criação de instância padrão de opusChannel ao detectar membros não resolvidos.
    • Configuração inicial com taxa de bits (24000) e complexidade (6) para melhorar desempenho e eficiência em sistemas de baixa latência.
  5. Atualização de referências e inclusão de dependências no runner-worker.php:

    • Ajustes em trunkController para utilizar a namespace \libspech\Sip.
    • Adição de arquivo de áudio (audioFilePath) com caminho fixo para teste e exemplo.

Motivação:

  • Reduzir complexidade no código do plugin eliminando trechos que não são mais relevantes ao fluxo principal.
  • Otimizar a manipulação de pacotes RTP em cenários de baixa confiabilidade na rede, aumentando a resiliência do sistema.
  • Melhorar compatibilidade e qualidade de áudio para codecs como G729 e OPUS, com configurações mais adequadas às frequências e ao uso em tempo real.
  • Consolidar as dependências no runner-worker.php, garantindo maior consistência no processamento de chamadas e no uso correto das bibliotecas.

Impacto:

  • Simplificação de manutenção: Código mais limpo e coeso, eliminando recursos que poderiam gerar confusão ou introduzir erros desnecessários.
  • Melhoria de estabilidade nas conexões RTP/SIP: Taxas ajustadas de recebimento e envio aumentam tolerância em cenários de rede instável.
  • Melhor suporte a codecs: Instâncias padrão e configurações otimizadas garantem que G729 e OPUS operem com maior eficiência.
  • Preparação para novos recursos: Ajustes no trunkController fornecem uma base mais sólida para futuras implementações.

Arquivos-chave alterados:

  • plugins/Utils/sip/mediaChannel.php
  • runner-worker.php
  • Switch project licensing to proprietary; update headers, README, and LICENSE accordingly. Refactor .env usage for SIP configuration.

  • Switch project licensing to proprietary; update headers, README, and LICENSE accordingly. Refactor .env usage for SIP configuration.

  • Switch project licensing to Apache 2.0; replace proprietary license files and update headers accordingly.

* ### Refatoração e remoção de funcionalidades obsoletas no processamento SIP/RTP

---

### Alterações técnicas:

1. **Remoção de propriedades e funções não utilizadas no `mediaChannel.php`:**
   - **Elementos removidos:**
     - Propriedades relacionadas ao rastreamento de *timeouts*, perda de pacotes (`timeoutHistory`, `packetLossWindow`), entre outros.
     - Funções auxiliares como `calculateAdaptiveTimeout` e `updateConnectionHealth` foram eliminadas, dado que não apresentavam uso no fluxo atual do código.
   - **Motivação:** Simplificar o código ao remover lógica redundante e propriedades não utilizadas.

2. **Ajustes na manipulação de pacotes RTP:**
   - Foi alterado o tempo de espera no recebimento de pacotes (`recvfrom`) de 0.2 para 0.5 segundos.
   - Modificação no tipo de dado enviado ao construir pacotes de silêncio para codificação PCM, passando a utilizar bytes únicos, em vez de duplicados.

3. **Correção no mecanismo de resampling para codec G729:**
   - Ajuste na manipulação de frequências no resampler, garantindo que o codec G729 funcione apenas com frequência de 8000 Hz.

4. **Adições relacionadas ao codec OPUS:**
   - Criação de instância padrão de `opusChannel` ao detectar membros não resolvidos.
   - Configuração inicial com taxa de bits (24000) e complexidade (6) para melhorar desempenho e eficiência em sistemas de baixa latência.

5. **Atualização de referências e inclusão de dependências no `runner-worker.php`:**
   - Ajustes em `trunkController` para utilizar a namespace `\libspech\Sip`.
   - Adição de arquivo de áudio (`audioFilePath`) com caminho fixo para teste e exemplo.

---

### Motivação:

- Reduzir complexidade no código do plugin eliminando trechos que não são mais relevantes ao fluxo principal.
- Otimizar a manipulação de pacotes RTP em cenários de baixa confiabilidade na rede, aumentando a resiliência do sistema.
- Melhorar compatibilidade e qualidade de áudio para codecs como G729 e OPUS, com configurações mais adequadas às frequências e ao uso em tempo real.
- Consolidar as dependências no `runner-worker.php`, garantindo maior consistência no processamento de chamadas e no uso correto das bibliotecas.

---

### Impacto:

- **Simplificação de manutenção:** Código mais limpo e coeso, eliminando recursos que poderiam gerar confusão ou introduzir erros desnecessários.
- **Melhoria de estabilidade nas conexões RTP/SIP:** Taxas ajustadas de recebimento e envio aumentam tolerância em cenários de rede instável.
- **Melhor suporte a codecs:** Instâncias padrão e configurações otimizadas garantem que G729 e OPUS operem com maior eficiência.
- **Preparação para novos recursos:** Ajustes no `trunkController` fornecem uma base mais sólida para futuras implementações.

---

### Arquivos-chave alterados:

- **`plugins/Utils/sip/mediaChannel.php`**
- **`runner-worker.php`**

* Switch project licensing to proprietary; update headers, README, and LICENSE accordingly. Refactor `.env` usage for SIP configuration.

* Switch project licensing to proprietary; update headers, README, and LICENSE accordingly. Refactor `.env` usage for SIP configuration.

* Switch project licensing to Apache 2.0; replace proprietary license files and update headers accordingly.
@berzersks berzersks merged commit 223b58b into spechdialer Dec 23, 2025
berzersks added a commit that referenced this pull request Dec 26, 2025
* community (#5) (#7)

* ### Refatoração e remoção de funcionalidades obsoletas no processamento SIP/RTP

---

### Alterações técnicas:

1. **Remoção de propriedades e funções não utilizadas no `mediaChannel.php`:**
   - **Elementos removidos:**
     - Propriedades relacionadas ao rastreamento de *timeouts*, perda de pacotes (`timeoutHistory`, `packetLossWindow`), entre outros.
     - Funções auxiliares como `calculateAdaptiveTimeout` e `updateConnectionHealth` foram eliminadas, dado que não apresentavam uso no fluxo atual do código.
   - **Motivação:** Simplificar o código ao remover lógica redundante e propriedades não utilizadas.

2. **Ajustes na manipulação de pacotes RTP:**
   - Foi alterado o tempo de espera no recebimento de pacotes (`recvfrom`) de 0.2 para 0.5 segundos.
   - Modificação no tipo de dado enviado ao construir pacotes de silêncio para codificação PCM, passando a utilizar bytes únicos, em vez de duplicados.

3. **Correção no mecanismo de resampling para codec G729:**
   - Ajuste na manipulação de frequências no resampler, garantindo que o codec G729 funcione apenas com frequência de 8000 Hz.

4. **Adições relacionadas ao codec OPUS:**
   - Criação de instância padrão de `opusChannel` ao detectar membros não resolvidos.
   - Configuração inicial com taxa de bits (24000) e complexidade (6) para melhorar desempenho e eficiência em sistemas de baixa latência.

5. **Atualização de referências e inclusão de dependências no `runner-worker.php`:**
   - Ajustes em `trunkController` para utilizar a namespace `\libspech\Sip`.
   - Adição de arquivo de áudio (`audioFilePath`) com caminho fixo para teste e exemplo.

---

### Motivação:

- Reduzir complexidade no código do plugin eliminando trechos que não são mais relevantes ao fluxo principal.
- Otimizar a manipulação de pacotes RTP em cenários de baixa confiabilidade na rede, aumentando a resiliência do sistema.
- Melhorar compatibilidade e qualidade de áudio para codecs como G729 e OPUS, com configurações mais adequadas às frequências e ao uso em tempo real.
- Consolidar as dependências no `runner-worker.php`, garantindo maior consistência no processamento de chamadas e no uso correto das bibliotecas.

---

### Impacto:

- **Simplificação de manutenção:** Código mais limpo e coeso, eliminando recursos que poderiam gerar confusão ou introduzir erros desnecessários.
- **Melhoria de estabilidade nas conexões RTP/SIP:** Taxas ajustadas de recebimento e envio aumentam tolerância em cenários de rede instável.
- **Melhor suporte a codecs:** Instâncias padrão e configurações otimizadas garantem que G729 e OPUS operem com maior eficiência.
- **Preparação para novos recursos:** Ajustes no `trunkController` fornecem uma base mais sólida para futuras implementações.

---

### Arquivos-chave alterados:

- **`plugins/Utils/sip/mediaChannel.php`**
- **`runner-worker.php`**

* Switch project licensing to proprietary; update headers, README, and LICENSE accordingly. Refactor `.env` usage for SIP configuration.

* Switch project licensing to proprietary; update headers, README, and LICENSE accordingly. Refactor `.env` usage for SIP configuration.

* Switch project licensing to Apache 2.0; replace proprietary license files and update headers accordingly.

* Update README to reflect Apache 2.0 licensing; clarify open-source details and community contribution guidelines.

* Add tech parameter to invite route log output

* Adiciona arquivos de configuração e documentação para SIP

O problema ocorria pela falta de um arquivo .env.example, que é necessário para a configuração do ambiente. Agora, ao inicializar, se o arquivo .env não existir, o sistema copia o .env.example para criar a configuração padrão.

- Adicionado arquivo .env.example com parâmetros SIP
- Adicionado arquivo commits.agent.md com instruções de uso
- Adicionado arquivo SIGNALING_ARRAYS.md para documentação de arrays de sinalização SIP
- Alterado autoloader.php para copiar .env.example se .env não existir
- Alterado rtpChannel.php para definir taxa de amostragem do codec Opus para 48000 Hz

⚠️ Possível impacto: A inicialização do sistema agora depende da existência do arquivo .env.example para funcionar corretamente.
Nenhum efeito colateral conhecido até o momento.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant