Recuperare il nome di un canale


(Tekno Pbx) #1

Salve a tutti,
vorrei poter fare un pickup su una coda di attesa prendendo uno dei canali attivi in quel momento… non voglio prima loggarmi nella coda come membro ma piuttosto una sorta di pickup diretto sottraendo il canale dalla coda e recuperandolo io… il comando Bridge dovrebbe fare al mio caso ma non so in che modo recuperare i nomi dei canali attivi in quel momento.
sulla cli con un CORE SHOW CHANNELS vedo tutti i canali e anche a che cosa sono collegati ma c’è un modo per far usare questa info?

riassumendo:
numero esterno chiama e viene collegato alla coda
interno invece di loggarsi come membro della coda per ricevere le chiamate fa un pickup sul primo canale collegato sulla coda.

mi manca il modo di recuperare i nomi dei canali che in quel momento sono collegati alla coda.


(Danilo Smaldone) #2

Ciao!
usando le RestApps e i telefoni Sangoma riusciresti a fare questa cosa in un attimo. Con la RestApp Queue, saresti in grado di esplorare la coda (da telefono) vedere chi è in attesa e fare pickup della chiamata scelta.
La tua domanda, più che da forum di FreePBX è da Forum di Asterisk: FreePBX è l’inerfaccia grafica del motore Asterisk.

Io darei un’occhiata a questo metodo di asterisk https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_PickupChan


(Tekno Pbx) #3

grazie mille dsmaldone! effettivamente non avevo pensato fosse una cosa prevalentemente di asterisk e non di freepbx. scusatemi

ottima idea il pickupChan che non conoscevo. mi permette di fare il pickup del canale anche senza sapere esattamente il nome. mi servirebbe solo capire come filtrare ulteriormente il nome perche sul trunk ci passano diverse connessioni


(Danilo Smaldone) #4

Guarda qui https://wiki.asterisk.org/wiki/display/AST/Pre-Dial+Handlers potresti pensare di battezzare ogni canale con un nome/numero progressivo e quindi facilmente riconoscerlo
Ciao


(Tekno Pbx) #5

il problema è che in entrata ho solo un trunk…i nomi dei canali creati sono “nome del trunk + numerazione”. con pickupchan non avrei problemi a selezionare tra l’elenco dei canali creati ma non posso farlo cosi perche non tutti i canali creati finiscono nella coda. dovrei avere a possibilità di sovrascrivere il nome del canale per capire che quello è nella coda ma la variabile CHANNELS non è sovrascrivibile. come faccio a identificare un canale markandolo o come dici tu battezzandolo con un valore progressivo?


(Danilo Smaldone) #6

https://wiki.asterisk.org/wiki/display/AST/Asterisk+standard+channel+variables

la variabile
${CHANNEL} * - Current channel name


(Tekno Pbx) #7

RISOLTO:

a chi servisse bastava usare delle virtual extension per instaurare il canale delle code.
a quel punto il pickup è effettuabile. :slight_smile:


(Danilo Smaldone) #8

Ottimo @TeknoPBX!
Se riesci a postare qualche dettaglio in più, magari semplifichiamo la vita di qualcun’altro!
Continua così!


(Tekno Pbx) #9

certo mi fa piacere…
innanzi tutto vediamo bene che problema ci fosse:
riuscire a fare un pickup su una coda di attesa non essendo un membro e non essendoci interni attivi.
il problema è se la coda non vede un interno on-line al suo interna non crea il canale di comunicazione e noi avremmo solo la possibilità di fare un pickupchan del canale entrante. questo crea diversi problemi non conoscendo il nome esatto del canale (ad esempio su 10 canali sapere qual’è quello che è collegato a quella coda è piuttosto complicato).
l’idea è quello di usare una virtual extension che ha la capacita di essere considerata sempre on-line. creando su freepbx la virtual extensions e poi mettendola come membro della coda dalla cli potremo vedere che la coda a quel punto chiama l’extension riconoscedola attiva.
fare infatti un core show channel ci dimostrerà che sono attivi il canale di entrata e il nuovo canale verso la virtual extension.
la questione ovviamente non finisce qua perche la coda pur chiamando la VE fa cadere la chiamata perche non trova una destinazione corretta. Nessun problema basta creare su extension_custom.conf
una riga di codice col numero della virtual extension in cui viene fatto un wait di un ora ad esempio.

a questo punto cosa succede? entra una chiamata nella coda, la coda chiama la virtual extension che entra in wait e noi possiamo fare un pickup sulla virtual extensions quando vogliamo.

unico punto e che la coda deve essere settata per un ringing continuo sulla VE perche se no di default fa il ringing ogni 5s.

cosi facendo pur non avendo un interno reale in coda possiamo fare il pickup sulle chiamate al suo interno. Ovviamente consiglio di aggiungere un hinit sulla coda per sapere quando entra una chiamata.

spero di essere stato di aiuto io ci ho sbattuto la testa per diversi giorni. :smiley:


(Danilo Smaldone) #10

@TeknoPBX questa è collaborazione!
Ho taggato il tuo ultimo post come soluzione perchè E’ la soluzione!


(system) closed #11

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.