Sipgate Asterisk Tastenwahl funktioniert nicht

shinchan

Neuer User
Mitglied seit
30 Mrz 2009
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo,

Die Tastenwahl des Benutzers funkioniert bei mir nicht.

Leider bekomme ich von der Asterisk Console immer die Meldung:
-- Accepting a maximum of 1 digits.
-- <SIP/sipgate-out-124123412> Playing 'soundtoplay.gsm' (language 'de')
-- User entered nothing.
obwohl ich eine Zahl gedrückt habe.

Der Benutzer wird von meinem Asterisk Server aus angerufen und soll nun im Menü wählen können.
Doch wenn er eine Taste drückt erkennt es der Asterisk Server nicht.

Ich habe schon einiges ausprobiert und auch einige euerer Beiträge dazu gelesen, aber leider ohne Erfolg.

http://www.ip-phone-forum.de/showthread.php?t=93246&highlight=asterisk+tastenwahl+sipgate
http://www.ip-phone-forum.de/showthread.php?p=668840#post668840

Meine sip.conf sieht wie folgt aus:

Code:
;sip.conf
[general]
port = 5060
bindaddr = 0.0.0.0
qualify = no
disallow = all
allow = alaw
allow = ulaw
allow = g729
allow = gsm
allow = slinear
srvlookup = yes
canreinvite = yes
register => 12345:[email protected]/12345

[sipgate-out]
type = friend
insecure = yes
nat = no
username = 12345
fromuser = 12345
fromdomain = sipgate.de
secret = geheim
host = sipgate.de
qualify = yes
;dtmfmode = info
dtmfmode = rfc2833
;dtmfmode = outbound
context = sipgate-out

In der Extensions.ael wird mit
Code:
Read(VARIABLENAME,soundtoplay,1);
Verbose(Sag mir die Eingabe des Benutzers: ${VARIABLENAME});
auf die Eingabe einer Zahl des Benutzers gewartet.
 
1. Welche Asterisk-Version? Falls die Antwort darauf 1.2 ist, liegt hier möglicherweise das Problem. Im 1.2er gabs mit rfc2833 noch paar Problemchen, das ist mit 1.4 besser geworden.

2. Versuch mal, die dtmfmode=rfc2833 Zeile auch in den general-Abschnitt der sip.conf zu schreiben. Ich hab zwar das Setup nicht ganz verstanden, aber wenn ich mich recht entsinne konnte man den DTMF-Mode nur für eingehende Peers setzen (zumindest die DTMFMode-Anweisung im Dialplan funktioniert nur für eingehende Peers).
 
Versuch es mal so:

Code:
disallow = all
allow = alaw
allow = ulaw
;allow = g729
;allow = gsm
;allow = slinear

dtmfmode = auto

Wenn das nicht funktioniert, wie sieht es auf Benutzerseite bezüglich DTMF aus?
 
Hey, danke erstmal für die schnellen Antworten.

@Digga ich verwende die Asterisk 1.6 Version

@stinkstifel ich habe deine Konfiguration in der sip.conf eingetragen.

weiterhin habe ich auch jeweils
dtmfmode = info
dtmfmode = outbound
dtmfmode = inband
dtmfmode = auto
ausprobiert. Leider ohne Erfolg.

Wie es auf der Benutzerseite aussieht weiß ich nicht. Wie könnte man das herausfinden und aktivieren?
Also ich rufe vom Asterisk Server aus die Benutzer über den Sipgate Account an.
Die Benutzer haben Festnetz oder Handytelefonnummern hinterlegt, die der Asterisk Server anruft.
 
Du wirst vermutlich nich darum herum kommen tiefer in das Thema einzusteigen um zu debuggen ob überhaupt etwas beim asterisk ankommt und wenn ja was und wie.
 
Hey,

Also ich habe das ganze jetzt anders herum Probiert.
Ich habe nun vom Telefon den Asterisk Server angerufen und mit Read(...) auf die Eingabe des Benutzers gewartet. funktioniert.

Ich habe die Einstellungen übernommen:
Code:
;sip.conf

disallow = all
allow = alaw
allow = ulaw
;allow = g729
;allow = gsm
;allow = slinear

dtmfmode = 2833

Also:
Telefon/Handy -> Asterisk anrufen und auf Eingabe warten FUNKTIONIERT
Asterisk -> Telefon/Handy anrufen und auf Eingabe warten FUNKTIONIERT NICHT
 
Wie sieht denn dieser Dial und Read Teil bei dir genau aus? Da Read ja DTMF-Ziffern des "Anrufers" liest bin ich nicht sicher ob das überhaupt funktionieren kann.

Nur eine Idee, aber passiert was bei SendDTMF() des Anrufers also Asterisk?
 
Zuletzt bearbeitet:
Hey, ich habe das nun ausprobiert.
Also wenn der Asterisk Server mich anruft und ich dann SendDTMF(8) ausführe höre ich beim Anrufer einen Tastenton.

Mein Dial, Read Teil sieht in etwa so aus:
//extensions.ael
Dial(SIP/${EXTEN}@sipgate-out);
SIPDtmfMode(rfc2833);
Set(CHANNEL(language)=de);
Playback(story);
Read(VARIABLENAME,playagain);
Verbose(Got ${VARIABLENAME} from Read);
SendDTMF(4); //kommt ein ton beim Anrufer
Hangup();
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.