|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
gateway gsm, dtmf e asterisk: problemi
Ho un gateway Portech MV-374 e utilizzo il codec alaw/ulaw per comunicare fra centralino e gateway gsm.
Impostando dtmfmode=inband ho dei problemi con il riconoscimento dei DTMF (non ne azzecca mai uno e li sbaglia sempre allo stesso modo). Mettendo dtmfmode=rfc2833 invece il riconoscimento funziona, salvo cannarne qualcuno a random quando il cellulare con cui chiamo il gateway non ha molto campo :'( E' normale questa cosa? Temo di sì purtroppo, vero? ![]() In tal caso ho pensato ad una possibile soluzione: inserire due volte il numero da chiamare via dtmf separando i due numeri con un #, salvo poi verificare in asterisk se la parte prima del # e quella dopo coincidono (nel caso coincidano compone il numero, altrimenti da un messaggio di errore e butta giu). Un'altra soluzione che mi è venuta in mente è il text to speach tramite festival (magari festival+mbrola che è una soluzione qualitativamente migliore). Che ne pensate? P.S. Allego la parte di config incriminata: [131] type=friend call-limit=1 canreinvite=no context=gsm2sip regexten=131 ;dtmfmode=inband dtmfmode=rfc2833 fromuser=131 username=131 secret=secret host=dynamic insecure=very qualify=yes disallow=all allow=ulaw ;allow=alaw (131 è il gateway gsm) [gsm2sip] exten => _500,1,Answer exten => _500,n,Set(TIMEOUT(digit)=3) exten => _500,n,Set(TIMEOUT(response)=6) exten => _500,n,DISA(no-password|myphones) (500 è il numero che chiama il gateway gsm quando riceve una telefonata) Non ho ancora provato il 2-stages-dialing del portech, che voi sappiate funzionerebbe meglio oppure è soggetto agli stessi problemi?
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
up
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2006
Messaggi: 557
|
hmmm perchè ulaw al posto di alaw oppure gsm?
hai provato con dtmf impostato a info? il 13/10 portech ha fatto uscire un nuovo firmware,ti consiglio di metterlo su (finalmente gli sms funzionano bene lol). come sono settate le impostazioni dtmf del portech? |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Impostazioni del gateway quando utilizzo inband su asterisk:
- Inband DTMF - Mobile DTMF debounce: 80 Quando invece su asterisk imposto rfc2833 metto rfc2833 anche sul gateway. Ho notato che con inband spesso e volentieri i numeri tendono ad essere duplicati, quindi probabilmente va aggiustato il valore di debounce (in effetti di default il gateway era impostato per usare rfc2833). Edit: ho notato che nelle impostazioni DTMF nel cellulare ho DTMF:lungo, forse va impostato su corto Domani proverò anche con info. Per quanto riguarda il firmware ho letto che bisogna mandargli una mail per farselo inviare ![]() Mi confermi che è così? Ciao e grazie
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it Ultima modifica di darkbasic : 21-10-2008 alle 00:54. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Era giusto per sapere quale codec stesse utilizzando, quando debuggo mi piace eliminare il maggior numero di variabili possibile.
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Ecco il mio piccolo workaround...
Se 1234 è il numero della sim nel centralino e 9876 è il numero da chiamare, salvo nella rubrica del cell il seguente numero: 1234p9876*9876 In questo modo il centralino verifica se il numero prima dell'asterisco corrisponde a quello dopo ed eventualmente effettua la telefonata, altrimenti riattacca. Ovviamente se il numero non è salvato in rubrica ma bensì viene digitato dall'utente tutto ciò non ha senso in quanto l'utente può dare conferma o meno della correttezza previo spelling (in questo caso l'asterisco non sarà presente nel DTMF inviato e asterisk agirà di conseguenza). Tradotto in codice: Codice:
[myphones] exten => _X.,1,Answer() exten => _X.,n,Set(i=1) ; Controllo l'eventuale presenza di * in quanto se presente va verificata la correttezza del numero ricevuto (i numeri in rubrica sono salvati in questo modo: numero*numero) exten => _X.,n,While($[${i} <= ${LEN(${EXTEN})}]) exten => _X.,n,GotoIf($["${EXTEN:$[${i}-1]:1}" = "*"]?rubrica) exten => _X.,n,Set(i=$[${i} + 1]) exten => _X.,n,EndWhile() ; Non c'è traccia di *, il numero ricevuto non può essere verificato quindi deve esserne fatto uno spelling e va chiesto all'utente se il numero inserito è corretto exten => _X.,n,Set(i=1) exten => _X.,n,While($[${i} <= ${LEN(${EXTEN})}]) exten => _X.,n,SayNumber(${EXTEN:$[${i}-1]:1}) exten => _X.,n,Set(i=$[${i} + 1]) exten => _X.,n,EndWhile() ; DA COMPLETARE exten => _X.,n,Hangup() ; RUBRICA ; Controllo che ci siano altri numeri prima di * exten => _X.,n,GotoIf($[${i} = 1]?errato) ; Controllo che * non sia l'ultimo numero exten => _X.,n,GotoIf($[$[${i} + 1] > ${LEN(${EXTEN})}]?errato) exten => _X.,n,GotoIf($[${EXTEN:${i}:$[${LEN(${EXTEN})-${i}}]} = ${EXTEN:0:$[${i}-1]}]?chiama:errato) ; ERRATO exten => _X.,n(errato),Hangup() ; CHIAMA exten => _X.,n(chiama),Dial(SIP/${EXTEN}@EuteliaVoIP,20) exten => _X.,n,Hangup
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it Ultima modifica di darkbasic : 21-10-2008 alle 00:39. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2006
Messaggi: 557
|
in sip responses ti conviene mettere 180 ringing in off e 183 session progress su on, in questo modo eviti ad esempio che il portech ti dia il segnale di libero quando in realtà il telefono che stai chiamando è spento o non raggiungibile.
Per il firmware, si,scrivi all'indirizzo e-mail che viene indicato (il 370 e 372 sono scaricabili dal sito ma sono differenti da quelli del 374). Il problema si presenta per chiamate in entrata (portech-->centralino) o in uscita (centralino-->portech)? per chiamare in uscita nella tabella 'lan to mobile' ti conviene mettere # sotto 'call num' cosi eviti il two stage dialing e potrai chiamare direttamente in uscita senza dover digitare una volta connesso al portech il numero da chiamare. quindi sul dialplan ti basterà passare al portech direttamente il numero da chiamare: exten=>_0.,1,Dial(SIP/portech/${EXTEN:1}) Personalmente non ho mai avuto problemi di dtmf con valori di default del portech e "auto" lato asterisk.In ogni caso penso che conviene prima giocare con quelli e sfruttare workaround simili solo come ultima risorsa. |
![]() |
![]() |
![]() |
#8 | |||
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Quote:
![]() Quote:
Quote:
Senz'altro, lo scriptino l'ho fatto solo ed esclusivamente perché nel frattempo mi permette comunque di chiamare e in ogni caso mi da un feedback per vedere se il numero ricevuto è corretto o meno.
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
|||
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Ho provato anche con il portech con impostazioni di default (rfc2833 e Mobile DTMF debounce: 80) e dtmfmode=auto in asterisk (dtmf lungo nel cellulare, che è il valore di default): niente da fare
![]() Ecco alcune prove inviando 01234567890123456789: rfc2833/Mobile DTMF debounce: 80 e dtmfmode=auto (dtmf lungo nel cell): 012345578901234567899 rfc2833/Mobile DTMF debounce: 80 e dtmfmode=auto (dtmf breve nel cell): 012345578901234467899 Inband/Mobile DTMF debounce: 80 e dtmfmode=auto (dtmf lungo nel cell): 00124556788990012245566788999 Inband/Mobile DTMF debounce: 80 e dtmfmode=auto (dtmf breve nel cell): 01245567890122455667899 Info/Mobile DTMF debounce: 80 e dtmfmode=auto (dtmf lungo nel cell): 012345678901234567899 Info/Mobile DTMF debounce: 80 e dtmfmode=auto (dtmf breve nel cell): 01234567890123456789 Quest'ultima combinazione sembrerebbe funzionare, ma basta un ulteriore tentativo per dimostrare che anch'essa non funziona: 012345678901234567899 Non so più che pesci pigliare, la regolazione Mobile DTMF debounce non l'ho toccata perché non sembra produrre effetti..
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Fottuti motorola: ho provato con un LG e dtmfmode=info e per ora nessun problema
![]() L'invio automatico dei dtmf del mio motorola fa veramente cagare, si riesce ad inviare il numero voluto soltanto inviando a mano i dtmf e tenendo premuti i tasti per mezzo secondo almeno ![]() P.S. forse il nome più appropriato sarebbe motoSola, per essere peggio di un LG (!) -senza antenna per giunta- ce ne vuole...
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it Ultima modifica di darkbasic : 21-10-2008 alle 15:05. |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Quote:
![]()
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2006
Messaggi: 557
|
hehe
![]() in ogni caso fai la richiesta per il nuovo firmware, magari risolvi pure il problema del motorola ![]() (fai l'aggiornamento del fimrware solo con IE con firefox o altri non vuole caricarlo perchè non sono supportati) |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Quote:
![]() Azz questa è una bella scocciatura invece, perché devo procurarmi un pc con winzozz ![]()
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Oggi ho continuato a smanettarci, a parte quella piccola incompatibilità portech/motosola
![]() ![]() Al momento mi manca da configurare solo la parte relativa alla gestione delle code e lo smistamento verso altri provider qualora tutte le sim siano occupate, ho preferito non farlo stasera perché voglio studiarmi con calma la situazione e scegliere la soluzione più adeguata. Non ho ancora provato a forzare il callerid delle chiamate in uscita, ma penso che sia impossibile e che dovrò ripiegare sul classico #31#... Confermi? ![]()
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Mi è venuto un dubbio.. nell'utilizzo delle code che ho fatto finora il fine è sempre stato raggiungere un gruppo di interni, ma come gestico le code per l'utilizzo di un _CANALE_?
![]() Mi spiego meglio: a me serve che gli utenti si spartiscano una sim (la 131 stando al config che ho postato), dando priorità assoluta alle chiamate provenienti da un determinato interno (il 132, ovvero le chiamate provenienti dall'altra sim) e alle chiamate in entrata (tutti coloro che vogliono comunicare tramite DISA). La facevo semplice e invece mi sono bloccato ![]() P.S. Sono ufficialmente innamorato delle time conditions, è troooppo bello non avere rotture di scatole sul cellulare quando sono all'università ![]()
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2006
Messaggi: 557
|
callerid non puoi forzarlo penso.
invece di macchina win usa ie4linux http://www.tatanka.com.br/ies4linux/page/Main_Page lo uso sempre per configurare i portech da linux ![]() riguardo alle code non ho capito benissimo cosa vorresti fare? se ci sono chiamate che provengono da trunk differenti e finiscono nella coda perchè gestire le priorità delle chiamate nella coda? ![]() se uno che finisce in coda e vuole aspettare lo fa altrimenti mette giu ![]() ma forse ho capito male io? ![]() |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Mi spiego meglio:
Ho più interni che vogliono chiamare e ho a disposizione un solo trunk con call-limit=1. Uno di questi interni deve poter scavalcare la coda e telefonare per primo appena il trunk si libera in barba agli altri che stanno aspettando da molto tempo prima di lui. Inoltre questo stesso trunk deve poter ricevere delle telefonate in ingresso (l'ideale sarebbe se il portech potesse gestire anche l'avviso di chiamata e conseguentemente dare massima priorità alle chiamate in ingresso, ma forse questo è chiedere troppo).
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Ho scoperto perché il motorola svarionava
![]() A differenza di molti altri cellulari, quando invia i DTMF in seguito al carattere speciale p emette il suono relativo. Il suono arrivava fino al microfono e il centralino lo interpretava come un'ulteriore dtmf ![]() Ho provato a coprire il microfono e ora funziona alla perfezione ![]() ![]() In compenso ho scoperto che non mi prende l'ip per le sim 3 e 4, ho contattato l'assistenza portech e mi hanno chiesto accesso remoto.
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Nov 2006
Messaggi: 557
|
hehe in realtà per accedere alle sim 1 e 2 usi l'ip 192.168.0.100 per la 3 e 4 192.168.0.102
![]() con l'ultimo aggiornamento hanno messo tutto sotto un unico ip |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3573
|
Si ma come secondo ip mi mette 0.0.0.0 e non mi da la possibilità di configurarlo
![]() Ho provato a resettare e a riconfigurare tutto più volte e alla fine si è deciso a prendermelo, ma nonostante tutto il tizio della portech crede che ci sia qualcosa che non va e vuole dare un'occhiata. Ormai penso che lo ribeccherò online lunedì.. Sai darmi una mano invece per il problema con le code?
__________________
Debian amd64 | Gentoo amd64 | AMD Athlon64 3800+ X2@2701Mhz vcore 1.49V | Placing an unpatched Windows computer directly onto the Internet in the hope that it downloads the patches faster than it gets exploited are odds that you wouldn't bet on in Vegas | e-mail+jabber: darkbasic|a.t|linuxsystems|d.o.t|it | www.linuxsystems.it |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:06.