PDA

Voir la version complète : Fichiers Call et utilisation de multiples lignes



xavierh95
12/11/2010, 10h59
Bonjour à tous,

Tout d'abord, je vais vous expliquer mon installation actuelle puis je vous détaillerai mon problème.

J'utilise Asterisk v1.6.2.13 sur une Debian. Mon but est de passer des appels à partir de fichiers Call et en utilisant tout un ensemble de ligne. J'ai une cinquantaine de lignes à ma disposition avec 2 channels disponibles sur chacune. J'utilise également des scripts AGI avec la librairie asterisk-java.

Voici la conf actuellement utilisée :
extensions.conf


[alarm-context]
exten => 50000, 1, Agi(agi://localhost/alarm.agi)


et un fichier call d'exemple :


Channel: SIP/testline/33102030405
Context: alarm-context
Extension: 50000
MaxRetries: 2
RetryTime: 5


Chaque ligne que j'ai a ma disposition ne possède que deux channels. Mon problème est le suivant. Comment puis-je faire pour que mes fichiers Call utilise automatiquement des lignes non occupées actuellement ?

Il faudrait que j'enregistre mes 50 lignes dans ma conf asterisk et que lorsque que l'appel est déclenché, une ligne avec un channel de libre soit automatiquement utilisée.


Pouvez-vous m'aider ?

Merci d'avance !

celya
12/11/2010, 22h24
Je pense qu'un petit script s'impose.

si tu fais un asterisk -rx 'core show channels'|grep 'le non de ta ligne'|wc -l, cela te donnera le nombre de canaux occupé pour ton canal SIP.

Tu refais cela jusqu'a ce que tu trouve une ligne dispo.

C'est un peu bourin mais simple.

Sinon il faut à chaque fois que tu rentre dans ton context alarm-context et que tu racroche, il faut mettre à jour une BD qui contient toutes tes lignes avec les temps de prise et de libération.
Ensuite lorsque tu crée ton fichier .call, une requette sql sur les canaux avec une date de libération inférieur à l'heure actuelle te donne un canal dispo.