Ciao a tutti,
sono un "novizio" di asterisk ma ho una discreta esperienza sia come sviluppatore che come utente Linux. Vado subito al punto
Sono discretamente soddisfatto del mio Asterisk 1.4 ma ho una lamentela da parte dei miei utenti (cioe' dei miei colleghi d'ufficio che utilizzano il centralino

): come trunk d'uscita abbiamo un Patton con un BRI (e quindi la possibilita' di fare due chiamate contemporanee). Il problema e' che molte volte ci si trova nella situazione in cui entrambe le linee sono occupate e una terza persona vuole chiamare all'esterno. Quest'ultima riceve (solo dopo aver composto il numero) una notifica vocale dal centralino che "la chiamata non puo' essere inoltrata". Al povero utente non resta che provare e riprovare a fare il numero finche' la linea non si libera.
Ovviamente un bel BLF sul trunk risolverebbe il tutto, e quasi ci sono arrivato da solo

Ho infatti abilitato un hint su un interno "fittizio" che pero' punta al patton:
exten => isdn,hint,SIP/patton
In questo modo mettendo un BLF sull'interno "isdn" ho "la luce verde" quando non c'e' neanche una chiamata e quella "rossa" quando c'e' almeno una linea occupata..
Questo e' ovviamente subottimo, in quanto dal mio punto di vista l'interno isdn non e' "busy" quando ha almeno una linea libera..
Ho visto che l'informazione di quante chiamate sono disponibili e' in realta' presente in Asterisk, il comando sip show inuse infatti mi fa' esattamente vedere quante chiamate sono in corso sul patton:
asterisk*CLI> sip show inuse
* User name In use Limit
[snip]
1000 0 99
* Peer name In use Limit
patton 0/0 2
1020 0/0 99
[snip]
1016 0/0 99
La mia idea sarebbe quindi di usare questa informazione per impostare lo stato del patton, ma non so' come fare..
Mi verrebbe da fare uno script bash che estrae il campo inuse periodicamente (anche un paio di volte al minuto), ad es cosi':
asterisk -rx 'sip show inuse' | grep patton | awk '{ if ($2=="2/0") print "INUSE"; else print "READY"}'
Il problema e' ora impostare lo stato del BLF di SIP/patton.. e qui la mia ignoranza di Asterisk si fa' sentire..
forse c'e' anche un metodo migliore ma sinceramente non lo conosco

Grazie anticipatamente a tutti,
Andrea