skip to Main Content

L’esigenza è nata da alcuni partner per l’utilizzo di fasci VoIP o GSM con un plafound prepagato di tot minuti.
Tale personalizzazione di NethVoice permette di usare il primo fascio fino al raggiungimento del plafound e poi quindi switchare al secondo se il credito del primo è esaurito.

Copiare il file prepagato.php (presente sul nostro NethVoice) in
/var/lib/asterisk/agi-bin/

Dare i permessi corretti
chown asterisk:asterisk /var/lib/asterisk/agi-bin/prepagato.php

vi /etc/asterisk/extensions_custom.conf

Aggiungere una sezione chiamata [outbound-allroutes-custom] con questo contenuto

[outbound-allroutes-custom] exten => _[01378]X.,1,noop(Rotte Prepagate)
exten => _[01378]X.,n,agi(prepagato.php,SIP/euteliast1,1000)
exten => _[01378]X.,n(dentro),Macro(dialout-trunk,4,${EXTEN},,)
exten => _[01378]X.,n,hangup()
exten => _[01378]X.,n(fuori),noop(fascio 1 pieno)
exten => _[01378]X.,n,agi(prepagato.php,SIP/euteliast2,1000)
exten => _[01378]X.,n(dentro),Macro(dialout-trunk,5,${EXTEN},,)
exten => _[01378]X.,n,hangup()
exten => _[01378]X.,n(fuori),noop(fascio 2 pieno)
exten => _[01378]X.,n,hangup()

In quest’esempio i fasci usati sono SIP/euteliast1 e SIP/euteliast2, ed è stato fissato un tetto di 1000 minuti.
Questa estensione crea una rotta in uscita con regola [01378]X

Sono da modificare gli id dei fasci, nell’esempio 4 per euteliast1 e 5 per euteliast2.
E’ possibile visualizzarli nel file extensions_additional.conf, come OUT_idfascio

grep eutelia /etc/asterisk/extensions_additional.conf
OUT_4 = SIP/euteliast1
OUT_5 = SIP/euteliast2

E’ possibile anche introdurre un prefisso ad esempio 9 facendo come nell’esempio seguente.

[outbound-allroutes-custom] exten => _9[01378]X.,1,noop(Rotte Prepagate)
exten => _9[01378]X.,n,agi(prepagato.php,SIP/euteliast1,1000)
exten => _9[01378]X.,n(dentro),Macro(dialout-trunk,4,${EXTEN:1},,)
exten => _9[01378]X.,n,hangup()
exten => _9[01378]X.,n(fuori),noop(fascio 1 pieno)
exten => _9[01378]X.,n,agi(prepagato.php,SIP/euteliast2,1000)
exten => _9[01378]X.,n(dentro),Macro(dialout-trunk,5,${EXTEN:1"},,)
exten => _9[01378]X.,n,hangup()
exten => _9[01378]X.,n(fuori),noop(fascio 2 pieno)
exten => _9[01378]X.,n,hangup()

Se è necessario aggiungere più fasci, ed escludere i cellulari, è possibile fare simile all’esempio seguente:

[outbound-allroutes-custom] exten => _[0178]X.,1,noop(Rotte Prepagate)
exten => _[0178]X.,n,agi(prepagato.php,SIP/voipst1,1000)
exten => _[0178]X.,n(dentro),Macro(dialout-trunk,9,${EXTEN},,)
exten => _[0178]X.,n,hangup()
exten => _[0178]X.,n(fuori),noop(fascio 1 pieno)
exten => _[0178]X.,n,agi(prepagato.php,SIP/voipst2,1000)
exten => _[0178]X.,n(dentro),Macro(dialout-trunk,10,${EXTEN},,)
exten => _[0178]X.,n,hangup()
exten => _[0178]X.,n(fuori),noop(fascio 2 pieno)
exten => _[0178]X.,n,hangup()
exten => _[0178]X.,n,agi(prepagato.php,SIP/voipst3,1000)
exten => _[0178]X.,n(dentro),Macro(dialout-trunk,11,${EXTEN},,)
exten => _[0178]X.,n,hangup()
exten => _[0178]X.,n(fuori),noop(fascio 2 pieno)
exten => _[0178]X.,n,hangup()

IMPORTANTE: questa regola custom non deve in alcun modo entrare in conflitto con altre regole nelle rotte in uscita. Quindi se si utilizza [01378]X eliminare tutte le regole che intercettano tali prefissi.

 

Alessio Fattorini - Community Marketing Manager

Particolarmente attratto da tutto quello che aiuta ed incentiva le persone a lavorare e collaborare insieme.
In Nethesis creo community, racconto storie e lavoro con l'Open Source.
Community Strategist, Copywriter, Speaker internazionale e Linux Sysadmin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back To Top