Skip to content

community#5

Merged
berzersks merged 5 commits intomasterfrom
spechdialer
Dec 23, 2025
Merged

community#5
berzersks merged 5 commits intomasterfrom
spechdialer

Conversation

@berzersks
Copy link
Collaborator

This pull request introduces significant changes to licensing, copyright, and attribution for the project, transitioning it from an open-source MIT license to a proprietary model. It also updates code examples and documentation to reflect the new licensing terms, and adds a feature for handling WAV audio playback in RTP streams.

Licensing and Attribution Changes:

  • Replaced the MIT license in LICENSE with a proprietary license, adding strict usage restrictions, attribution requirements, and legal terms.
  • Added copyright and proprietary software headers to COPYRIGHT_HEADER.txt, example.php, and plugins/Utils/libspech/trunkController.php. [1] [2] [3]
  • Updated README.md to prominently display the proprietary status, update license badges, and add a detailed notice about usage restrictions and attribution requirements. [1] [2]

Code and Example Updates:

  • Modified example.php to use environment variables for SIP credentials, improving security and flexibility.

Feature Enhancement:

  • Enhanced trunkController.php to support sending audio from a WAV file over RTP: reads the file, loops playback, and pads silence as needed.

…to 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`**
…LICENSE accordingly. Refactor `.env` usage for SIP configuration.
…LICENSE accordingly. Refactor `.env` usage for SIP configuration.
…ialer

# Conflicts:
#	README.md
#	example.php
#	plugins/Utils/libspech/trunkController.php
@berzersks berzersks requested a review from Copilot December 23, 2025 06:18
@berzersks berzersks self-assigned this Dec 23, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@berzersks berzersks merged commit 8d917b0 into master Dec 23, 2025
berzersks added a commit that referenced this pull request Dec 23, 2025
* ### 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 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