Asterisk HINT/BLF em Realtime


Eu estava trabalhando em deixar o HINT/BLF em realtime, há algumas semanas por isso aqui vai algumas dicas, na expectativa de mais alguém ter está necessidade e nos ajudar a melhorar o código. 

Mudanças necessárias para o sip.conf: 
  • notifyringing deve ser definido como "yes"; 
  • tanto rtcachefriends e rtupdate definido como "yes"; 
  • limitonpeers deve ser definido como "yes". 

Alterações na tabela SIP Table, inserir as seguintes colunas: 
  • "call-limit" do tipo "int";
  • "subscribecontext" do tipo "varchar(80)"

o "subscribecontext" tem de ter o mesmo nome do contexto em que o comandos estão, eu uso "[blf_pbx]". A minha necessidade é de fazer uma "Terminal Inteligente" Virtual.  Eu já disponibilizei aqui uma maneira de fazer o HINT/BLF funcionar em um aparelho da Khomp o "IPS 212". Claro que esta solução é toda desenvolvida no "extensions.conf" ou no "extensions.ael" de maneira manual ou seja para cada extensão telefônica adcionada no seu PBX IP você tem obrigatoriamente que incluir no "subscribecontext".  Mas se você (como eu) estiver usando "ARA" (Asterisk Realtime Architecture) isto acaba sendo uma incoveniente. Este ponto de vista de fazer o HINT/BFL dinamico é na verdade um Shell Script que fica sendo executado no CRON. Caso você venha a alterar o Shell Script de maneira que fique melhor agradeceria em compartilhar aqui no post. 

Caso queira mudar o nome do contexto, pode fazê lo no Shell Script na linha que escrevemos o "switch => realtime/@".  

Em seguida ele escrevera o necessário nos arquivos extensions.conf ou extensios.ael, ou seja, de maneira dinâmica. 
"exten => ,hint,SIP/".


appenddynamic()
{
  mysql -u dbusername -pdbpassword -h dbhostname dbname -se "select distinct(context) from extensions" | grep -v '^context$' | while read context; do
    echo "[$context]" >> $ASTCONF
    echo "switch => Realtime/@" >> $ASTCONF
    if [ $context = "target_context" ]
    then
        echo "exten => 100,hint,SIP/100"
        echo "exten => 101,hint,SIP/101"
    fi
    echo "" >> $ASTCONF
  done
}

Eu realmente espero que faz algum sentido para alguém.

Ishfaq Malik
Software Developer
PackNet Ltd

Fonte: Lista de Discussão Asterisk Developer.
.

Não realizamos upload dos ficheiros, apenas reportamos os links que encontramos na própria Internet. Assim, toda e qualquer responsabilidade não caberá ao administrador deste blog. Este blog não tem como objetivo reproduzir as obras, apenas divulgar o que foi encontrado na Internet. Os filmes aqui informado são de cunho científico assim como as series as quais são produzidas para exibição em TV aberta. Uma vez que a serie não tenha sido ripada de um DVD ou seja a mesma foi gravada do sinal de TV aberta com o respectivo selo da emissora não é caracterizado crime pois a mesma foi produzida para exibição pública. Sera crime quando for realizado venda deste produto. Quem efetuar download de qualquer ficheiro deste blog que não tenha seu conteúdo de base Open Source (Código Aberto) ou FOSS (Free Open Source Software) deverá estar ciente que terá 24 horas para eliminar os ficheiros que baixou. Assista-o e procure Revendas Autorizadas. Se algo contido no blog lhe causa dano ou prejuízo, entre em contacto, que iremos retirar o ficheiro ou post o mais rápido possível. Se encontrou algum post que considere de sua autoria favor enviar e-mail para suporte@delphini.com.br informando o post e comprovando sua veracidade.

Muito obrigado a todos que fizeram deste blog um sucesso.

Creative CommonsEsta obra está licenciada sob uma Licença Creative Commons. Você pode copiar, distribuir, exibir, executar, desde que seja dado crédito ao autor original (Citando nome do autor, data, local e link de onde tirou o texto). Você não pode fazer uso comercial desta obra.Você não pode criar obras derivadas.