Scusate ragazzi ma non riesco a risolvere questo problema, ci sbatto da 4 giorni :
Sono su una centrale asterisk 1.6 con dialplan scritto a manina. Quando chiamo e mi risponde un IVR non vengono riconosciuti i toni DTMF. Le impostazioni dei telefoni e della centrale sono le seguenti:
sip.conf
[general]
......
dtmfrelax=yes
dtmfmode=rfc2833
users.conf
[500]
...
...
dtmfmode=rfc2833
mettendo in debug il canale:
== Using SIP RTP CoS mark 5
-- Called Eutelia/800900800
<< [ TYPE: Control (4) SUBCLASS: Unknown control '14' (14) ] [SIP/Eutelia-00000072]
-- SIP/Eutelia-00000072 is making progress passing it to SIP/509-00000071
<< [ TYPE: Control (4) SUBCLASS: Unknown control '14' (14) ] [SIP/Eutelia-00000072]
-- SIP/Eutelia-00000072 is making progress passing it to SIP/509-00000071
<< [ TYPE: Control (4) SUBCLASS: Answer (4) ] [SIP/Eutelia-00000072]
-- SIP/Eutelia-00000072 answered SIP/509-00000071
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/Eutelia-00000072]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/Eutelia-00000072]
<< [ TYPE: DTMF Begin (12) SUBCLASS: 8 (56) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
<< [ TYPE: DTMF End (1) SUBCLASS: 8 (56) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/Eutelia-00000072]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/Eutelia-00000072]
-- Executing [h@superdial:1] Hangup("SIP/509-00000071", "") in new stack
Quando premo un qualsiasi tasto (nell'esempio riportato ho premuto 8) scompare l'audio e sono costretto a chiudere la comunicazione.
Il canale è voip ed è Eutelia.
Ho provato a configurare l'account direttamente nel mio softphone ed in un linksys spa922 ed i DTMF vengono corettamente riconosciuti, quando le chiamate avvengono attraverso la centrale non più.
Potrei avere qualche suggerimento ? Vi ringrazio per la vostra pazienza
Re: DTMF
Ciao,
nel sip.conf il parametro dtmfrelax=yes è relaxdtmf
Potrebbe essere un problema di codec audio.
Con il g729 non è possibile inviare i dtmf sullo stesso flusso audio.
Se il telefono é configurato con rfc2833 e asterisk con dtmf inband o viceversa, avrai lo stesso problema.
Fammi sapere
Ciao e grazie per il tuo
Ciao e grazie per il tuo interessamento.
ho sbagliato a copiare, certo nel sip.conf il parametro scritto è corretto ed è relaxdtmf=yes.
Quando chiamo sento l'IVR che dall'altra parte risponde regolarmente e lo sento fino a quando non premo un testo. Poi più nulla e dall'altra parte non arrivano proprio i toni (ho provato a chiamare un'altra centrale alla quale ho l'accesso e che ha un IVR)
Ho provato anche con il codec alaw, risultato uguale.
il mio softphone (express talk) non ha la possibilità di settare la modalità dei toni, sugli altri telefoni (linksys SPA922) il tono è in auto.
Se provo a loggare i telefoni sull'altra centrale (trixbox con asterisk 1.2) i dtmf vanno una bomba anche su eutelia. Quindi deduco che il problema è nella configurazione del mio asterisk. Oltre al parametro dtmfmode=rfc2833 in sip.conf e nella definizione dei telefoni sip c'è qualche altro parametro da settare ? (es. durata del tono, ecc.)
Ho provato a vedere il debug di una centrale con trixbox e asterisk 1.2 e quando premo un tono il debug riporta:
<< [ TYPE: DTMF (12) SUBCLASS: 8 (56) ] [SIP/509-00000071]
<< [ TYPE: DTMF (1) SUBCLASS: 8 (56) ] [SIP/Eutelia-00000071]
cioè mi riporta il tasto premuto sia sul canale del mio interno che su quello della chiamata che sto effettuando, mentre sulla mia centrale
<< [ TYPE: DTMF Begin (12) SUBCLASS: 8 (56) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
<< [ TYPE: DTMF End (1) SUBCLASS: 8 (56) ] [SIP/509-00000071]
<< [ TYPE: Null Frame (5) SUBCLASS: N/A (0) ] [SIP/509-00000071]
non c'è traccia del DTMF sul canale che chiamo, ma è solo riportato sull'interno
Re:DTMF
Prova a postare il debug sip del telefono quando chiami la centrale con l'IVR per vedere nell'INVITE che manda com'è la parte relativa al protocollo SDP. A me è successo una volta però non funzionava solamente con l'IVR di una compagnia aerea.
Sicuramente sai come si fa, però in ogni caso... entri nella console di asterisk e supponento che l'express talk si connette a asterisk come interno 1000, scrivi:
CLI> sip set debug peer 1000
Se provi con un altro telefono IP collegato alla centrale asterisk 1.6 funziona? Perchè se così fosse il problema è il telefono nel senso che forse l'rfc2833 non è la giusta configurazione in Asterisk.
Ciao
Re: DTMF
Ciao,
ho trovato su un blog (http://blog.d-vel.com/web/blog/home/-/blogs/problemi-sui-toni-dtmf-in-rf...) la info per il problema sui dtmf con asterisk 1.6.2. Il blog suggerisce di inserire nella registrazione dei provider sip il seguente parametro constantssrc=true. Ora, in effetti i toni vengono riconosciuti, ma quando premo il tasto per la scelta scompare l'audio ma l'IVR chiamato esegue la scelta selezionata. Questo succede sia con il mio softphone che con un telefono linksys spa922. Ti posto il debug del mio softphone, sicuramente potrai capire meglio di me e magari darmi delle dritte. Ti ringrazio per la tua cortesia.
== Using SIP RTP CoS mark 5
-- Called voipcheap/0123456789
-- SIP/voipcheap-0000005a is making progress passing it to SIP/509-00000059
Audio is at 12.34.56.78 port 16000
Adding codec 0x2 (gsm) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
amministra*CLI>
<--- Transmitting (NAT) to 44.55.66.789:5060 --->
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP 44.55.66.789:5060;branch=z9hG4bK204876;received=44.55.66.789;rport=5060
From: <sip:509@12.34.56.78>;tag=4751
To: <sip:0123456789@12.34.56.78>;tag=as709e17e9
Call-ID: 1270712422-4876-PC-MIO@44.55.66.789
CSeq: 198 INVITE
Server: Asterisk PBX 1.6.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:0123456789@12.34.56.78>
Content-Type: application/sdp
Content-Length: 259
v=0
o=root 1054167410 1054167410 IN IP4 12.34.56.78
s=Asterisk PBX 1.6.2.1
c=IN IP4 12.34.56.78
t=0 0
m=audio 16000 RTP/AVP 3 8 101
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
<------------>
-- SIP/voipcheap-0000005a answered SIP/509-00000059
Audio is at 12.34.56.78 port 16000
Adding codec 0x2 (gsm) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
amministra*CLI>
<--- Reliably Transmitting (NAT) to 44.55.66.789:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 44.55.66.789:5060;branch=z9hG4bK204876;received=44.55.66.789;rport=5060
From: <sip:509@12.34.56.78>;tag=4751
To: <sip:0123456789@12.34.56.78>;tag=as709e17e9
Call-ID: 1270712422-4876-PC-MIO@44.55.66.789
CSeq: 198 INVITE
Server: Asterisk PBX 1.6.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Contact: <sip:0123456789@12.34.56.78>
Content-Type: application/sdp
Content-Length: 259
v=0
o=root 1054167410 1054167411 IN IP4 12.34.56.78
s=Asterisk PBX 1.6.2.1
c=IN IP4 12.34.56.78
t=0 0
m=audio 16000 RTP/AVP 3 8 101
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
<------------>
amministra*CLI>
<--- SIP read from UDP:44.55.66.789:5060 --->
ACK sip:0123456789@12.34.56.78 SIP/2.0
Via: SIP/2.0/UDP 44.55.66.789:5060;rport;branch=z9hG4bK214876
To: <sip:0123456789@12.34.56.78>;tag=as709e17e9
From: <sip:509@12.34.56.78>;tag=4751
Call-ID: 1270712422-4876-PC-MIO@44.55.66.789
CSeq: 198 ACK
Max-Forwards: 20
User-Agent: NCH Software Express Talk 3.10
Content-Length: 0
<------------->
--- (9 headers 0 lines) ---
amministra*CLI>
<--- SIP read from UDP:44.55.66.789:5060 --->
BYE sip:0123456789@12.34.56.78 SIP/2.0
Via: SIP/2.0/UDP 44.55.66.789:5060;rport;branch=z9hG4bK224876
To: <sip:0123456789@12.34.56.78>;tag=as709e17e9
From: <sip:509@12.34.56.78>;tag=4751
Call-ID: 1270712422-4876-PC-MIO@44.55.66.789
CSeq: 199 BYE
Max-Forwards: 20
User-Agent: NCH Software Express Talk 3.10
Content-Length: 0
<------------->
--- (9 headers 0 lines) ---
Sending to 44.55.66.789 : 5060 (NAT)
amministra*CLI>
<--- Transmitting (NAT) to 44.55.66.789:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 44.55.66.789:5060;branch=z9hG4bK224876;received=44.55.66.789;rport=5060
From: <sip:509@12.34.56.78>;tag=4751
To: <sip:0123456789@12.34.56.78>;tag=as709e17e9
Call-ID: 1270712422-4876-PC-MIO@44.55.66.789
CSeq: 199 BYE
Server: Asterisk PBX 1.6.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Length: 0
rfc2833 compensate
Ciao,
nel debug manca un pezzetto relativo al telefono.
Comunque prova a mettere nella sip.conf (nella configurazione dell'estensione que usi con il telefono questo parametro:
rfc2833compensate=yes
Ciao
Problema con provider voip e DTMF con rfc2833
Ciao a tutti,
ho avuto una brutta sorpresa dal mio nuovo provider voip,
Premetto che uso asterisk 1.6.2.9 puro,
il provider in questione sembra non funzionare affatto con rfc2833 e nemmeno con info,
funziona solo con INBAND.
Se invece registro il provider direttamente su un telefono ip con rfc2833 funziona ma con asterisk in mezzo niente da fare..
Altri provider voip come mclink o eutelia funzionano tranquillamente con asterisk ed rfc2833.
Non mi rimane altro che usare INBAND purtroppo,,
Il problema è che usando il codec g729 i toni vengono distorti e non vengono riconosciuti dai vari IVR 119 Tim 190 Vodafone ecc. ecc.
Se però premo i tasti più a lungo e con una pausa di mezzo secondo tra i numeri, gli ivr riescono a riconoscerli.
Quindi ho pensato: Settando nella conf asterisk gli interni in dtmfmode=rfc2833 e il provider in dtmfmode=inband , se ci fosse un paramentro che definisce la lunghezza dei toni inviati tramite inband e magari anche uno per definire una pausa di mezzo secondo tra ogni tono... Sarei a cavallo..
Grazie in anticipo a tutti.
eugenio.
P.S.
Ho però notato una cosa veramente veramente strana!
Chiamando 062222 (Servizio clienti ALITALIA) impostando tutto in rfc2833, se digito un tasto dell'ivr (ad esempio 1) funziona subito. Ho notato anche che il centralino alitalia duranti il primo messaggio registrato la chiamata non è "answerata" infatti il contatore dei minuti del mio telefono snom non si era ancora avviato, dopo il primo messaggio invece il contatore parte e se digito altri tasti dell'ivr non funziona..
..... MISTERO... Ma sono sicuro che potrebbe essere svelato..