.titleBar { margin-bottom: 5px!important; }

[Gelöst] Asterisk reagiert nicht auf DTMF Eingaben

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von garry, 26 Feb. 2005.

  1. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich habe * (Suse 9.2 rpm; fritz a1; capi) am internene S0 einer Bosch Integral hängen. Rufe ich nun intern die entsprechende Nebenstelle - sagen wir 20 - nimmt * dan Anruf an und die Demo läuft. Leider reagiert * nicht auf die Eingaben des Systemtelefones (Tenovis).

    Rufe ich die 20 vom gleiche Apparat über das Amt an also 0 - 1234567 - 20 funktioniert es aber. Rufe ich die 20 intern über unseren einzigen an die Integral angeschlossenen analogen Apparat an dann geht es auch.

    Hat jemand einen Hinweis?

    Daniel
     
  2. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da wuerde ich mal glatt tippen, dass es entweder am Systemtelefon oder der Anlage oder sogar der Kombination von den beiden liegt. Kann sein, dass das Telefon kein DTMF sendet, nachdem eine Verbindung aufgebaut wurde sondern Nachrichten ueber den D-Kanal. Kann sein, dass die TK-Anlage das umsetzt, wenn das Gespraech nach aussen geht und bei internen Gespraechen nicht. Dann kannste das evtl. mit nem D-Kanal Trace sehen.

    Das ganze ist aber natuerlich nur geraten.
     
  3. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nun wohl an der Kombination; denn wenn ich über Amt telefoniere geht es ja. Oder der interne S0 ist falsch konfiguriert.
    Irgendwie lauscht die TK anlage auch weiter mit wenn ich mich mit der Dame von der Asterisk Demo "unterhalte":

    Ich rufe als0 die intern 20 an
    * hebt ab -> Demo startet und sagt z.B. "dial two ..."
    Ich tippe also 2 ein aber es tut sich nichts (asterisk -vvv bekommt nix mit)
    auf dem Display steht nun 202.
    Ich tippe nochmal 2 und nun klingelt unsere interne Nebenstelle 22 und das Gespräch mit * ist beendet. Vielleicht wird die gesamte DTMF - Kommunikation bei internen Gesprächen weiter zur integral geleitet. Was genau heist eigentlich DTMF?

    Daniel
     
  4. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    DTMF = Dual Tone Multi-Frequency

    Der Name kommt daher, dass ein DTMF-Ton aus 2 ueberlagerten Sinus-Toenen besteht.

    Versuch mal vor der Demo ein Anser zu machen. Evtl. hilft das.
     
  5. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ein Anser? Sorry wie mach ich das?
     
  6. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich meinte Answer (fipptehler) :)

    Das musst du in der extensions.conf eintragen. Poste mal deine extensions.conf und ich zeig dir, wo du es wie einbauen musst.
     
  7. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,281
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    Sieht so aus, als wenn das Systemtelefon keine DTMF Töne sendet, bei Siemens konnte(oder kann) man das mit Ziffernkombination während des Gespräches umstellen. Vielleicht gibt bei dir auch einen entsprechenden Code?

    Funktioniert denn DTMF wenn Du mit dem Systemtelefon nach draussen telefonierst?

    Ach ja: DTMF

    jo

    Edit: Wenn es mit anderen Telefonen klappt glaube ich erstmal nicht, dass es an der extension.conf liegt.
     
  8. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ja nach drausen geht es - sogar über drausen an dieselbe *
     
  9. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    die extensions.conf ist die originale von suse:

    Code:
    ;
    ; Static extension configuration file, used by
    ; the pbx_config module. This is where you configure all your 
    ; inbound and outbound calls in Asterisk. 
    ; 
    
    ;
    ; The "General" category is for certain variables.  
    ;
    [general]
    ;
    ; If static is set to no, or omitted, then the pbx_config will rewrite
    ; this file when extensions are modified.  Remember that all comments
    ; made in the file will be lost when that happens. 
    ;
    ; XXX Not yet implemented XXX
    ;
    static=yes
    ;
    ; if static=yes and writeprotect=no, you can save dialplan by
    ; CLI command 'save dialplan' too
    ;
    writeprotect=no
    
    ; You can include other config files, use the #include command (without the ';')
    ; Note that this is different from the "include" command that includes contexts within 
    ; other contexts. The #include command works in all asterisk configuration files.
    ;#include "filename.conf"
    
    ; The "Globals" category contains global variables that can be referenced
    ; in the dialplan with ${VARIABLE} or ${ENV(VARIABLE)} for Environmental variable
    ; ${${VARIABLE}} or ${text${VARIABLE}} or any hybrid
    ;
    [globals]
    CONSOLE=Console/dsp				; Console interface for demo
    ;CONSOLE=Zap/1
    ;CONSOLE=Phone/phone0
    IAXINFO=guest					; IAXtel username/password
    ;IAXINFO=myuser:mypass
    TRUNK=Zap/g2					; Trunk interface
    TRUNKMSD=1					; MSD digits to strip (usually 1 or 0)
    ;TRUNK=IAX2/user:pass@provider
    
    ;
    ; Any category other than "General" and "Globals" represent 
    ; extension contexts, which are collections of extensions.  
    ;
    ; Extension names may be numbers, letters, or combinations
    ; thereof. If an extension name is prefixed by a '_'
    ; character, it is interpreted as a pattern rather than a
    ; literal.  In patterns, some characters have special meanings:
    ;
    ;   X - any digit from 0-9
    ;   Z - any digit from 1-9
    ;   N - any digit from 2-9
    ;   [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
    ;   . - wildcard, matches anything remaining (e.g. _9011. matches 
    ;	anything starting with 9011 excluding 9011 itself)
    ;
    ; For example the extension _NXXXXXX would match normal 7 digit dialings, 
    ; while _1NXXNXXXXXX would represent an area code plus phone number
    ; preceeded by a one.
    ;
    ; Each step of an extension is ordered by priority, which must
    ; always start with 1 to be considered a valid extension.
    ;
    ; Contexts contain several lines, one for each step of each
    ; extension, which can take one of two forms as listed below,
    ; with the first form being preferred.  One may include another
    ; context in the current one as well, optionally with a
    ; date and time.  Included contexts are included in the order
    ; they are listed.
    ;
    ;[context]
    ;exten => someexten,priority,application(arg1,arg2,...)
    ;exten => someexten,priority,application,arg1|arg2...
    ;
    ; Timing list for includes is 
    ;
    ;   <time range>|<days of week>|<days of month>|<months>
    ;
    ;include => daytime|9:00-17:00|mon-fri|*|*
    ;
    ; ignorepat can be used to instruct drivers to not cancel dialtone upon
    ; receipt of a particular pattern.  The most commonly used example is
    ; of course '9' like this:
    ;
    ;ignorepat => 9
    ;
    ; so that dialtone remains even after dialing a 9.
    ;
    
    ;
    ; Here are the entries you need to participate in the IAXTEL
    ; call routing system.  Most IAXTEL numbers begin with 1-700, but
    ; there are exceptions.  For more information, and to sign
    ; up, please go to [url]www.gnophone.com[/url] or [url]www.iaxtel.com[/url]
    ;
    [iaxtel700]
    exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
    
    ;
    ; The SWITCH statement permits a server to share the dialplain with
    ; another server. Use with care: Reciprocal switch statements are not
    ; allowed (e.g. both A -> B and B -> A), and the switched server needs
    ; to be on-line or else dialing can be severly delayed.
    ;
    [iaxprovider]
    ;switch => IAX2/user:[key]@myserver/mycontext
    
    [trunkint]
    ;
    ; International long distance through trunk
    ;
    exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _9011.,2,Congestion
    
    [trunkld]
    ;
    ; Long distance context accessed through trunk
    ;
    exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91NXXNXXXXXX,2,Congestion
    
    [trunklocal]
    ;
    ; Local seven-digit dialing accessed through trunk interface
    ;
    exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _9NXXXXXX,2,Congestion
    
    [test]
    ;
    ; Long distance context accessed through trunk interface
    ;
    exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91800NXXXXXX,2,Congestion
    exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91888NXXXXXX,2,Congestion
    exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91877NXXXXXX,2,Congestion
    exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91866NXXXXXX,2,Congestion
    
    [international]
    ;
    ; Master context for international long distance
    ;
    ignorepat => 9
    include => longdistance
    include => trunkint
    
    [longdistance]
    ;
    ; Master context for long distance
    ;
    ignorepat => 9
    include => local
    include => trunkld
    
    [local]
    ;
    ; Master context for local, toll-free, and iaxtel calls only
    ;
    ignorepat => 9
    include => default
    include => parkedcalls
    include => trunklocal
    include => iaxtel700
    include => trunktollfree
    include => iaxprovider
    ;
    ; You can use an alternative switch type as well, to resolve
    ; extensions that are not known here, for example with remote 
    ; IAX switching you transparently get access to the remote
    ; Asterisk PBX
    ; 
    ; switch => IAX2/user:password@bigserver/local
    
    [macro-stdexten];
    ;
    ; Standard extension macro:
    ;   ${ARG1} - Extension  (we could have used ${MACRO_EXTEN} here as well
    ;   ${ARG2} - Device(s) to ring
    ;
    exten => s,1,Dial(${ARG2},20)					; Ring the interface, 20 seconds maximum
    exten => s,2,Goto(s-${DIALSTATUS},1)				; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
    
    exten => s-NOANSWER,1,Voicemail(u${ARG1})		; If unavailable, send to voicemail w/ unavail announce
    exten => s-NOANSWER,2,Goto(default,s,1)			; If they press #, return to start
    
    exten => s-BUSY,1,Voicemail(b${ARG1})			; If busy, send to voicemail w/ busy announce
    exten => s-BUSY,2,Goto(default,s,1)				; If they press #, return to start
    
    exten => s-.,1,Goto(s-NOANSWER,1)				; Treat anything else as no answer
    
    exten => a,1,VoicemailMain(${ARG1})				; If they press *, send the user into VoicemailMain
    
    [demo]
    ;
    ; We start with what to do when a call first comes in.
    ;
    exten => s,1,Wait,1			; Wait a second, just for fun
    exten => s,2,Answer			; Answer the line
    exten => s,3,DigitTimeout,5		; Set Digit Timeout to 5 seconds
    exten => s,4,ResponseTimeout,10		; Set Response Timeout to 10 seconds
    exten => s,5,BackGround(demo-congrats)	; Play a congratulatory message
    exten => 6,BackGround(demo-instruct)	; Play some instructions
    
    exten => 2,1,BackGround(demo-moreinfo)	; Give some more information.
    exten => 2,2,Goto(s,6)
    
    exten => 3,1,SetLanguage(fr)		; Set language to french
    exten => 3,2,Goto(s,5)			; Start with the congratulations
    
    exten => 1000,1,Goto(default,s,1)
    ;
    ; We also create an example user, 1234, who is on the console and has
    ; voicemail, etc.
    ;
    exten => 1234,1,Playback(transfer,skip)		; "Please hold while..." 
    					; (but skip if channel is not up)
    exten => 1234,2,Macro(stdexten,1234,${CONSOLE})
    
    exten => 1235,1,Voicemail(u1234)		; Right to voicemail
    
    exten => 1236,1,Dial(Console/dsp)		; Ring forever
    exten => 1236,2,Voicemail(u1234)		; Unless busy
    
    ;
    ; # for when they're done with the demo
    ;
    exten => #,1,Playback(demo-thanks)		; "Thanks for trying the demo"
    exten => #,2,Hangup			; Hang them up.
    
    ;
    ; A timeout and "invalid extension rule"
    ;
    exten => t,1,Goto(#,1)			; If they take too long, give up
    exten => i,1,Playback(invalid)		; "That's not valid, try again"
    
    ;
    ; Create an extension, 500, for dialing the
    ; Asterisk demo.
    ;
    exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
    exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default)	; Call the Asterisk demo
    exten => 500,3,Playback(demo-nogo)	; Couldn't connect to the demo site
    exten => 500,4,Goto(s,6)		; Return to the start over message.
    
    ;
    ; Create an extension, 600, for evaulating echo latency.
    ;
    exten => 600,1,Playback(demo-echotest)	; Let them know what's going on
    exten => 600,2,Echo			; Do the echo test
    exten => 600,3,Playback(demo-echodone)	; Let them know it's over
    exten => 600,4,Goto(s,6)		; Start over
    
    ;
    ; Give voicemail at extension 8500
    ;
    exten => 8500,1,VoicemailMain
    exten => 8500,2,Goto(s,6)
    ;
    ; Here's what a phone entry would look like (IXJ for example)
    ;
    ;exten => 1265,1,Dial(Phone/phone0,15)
    ;exten => 1265,2,Goto(s,5)
    
    ;[mainmenu]
    ;
    ; Example "main menu" context with submenu
    ;
    ;exten => s,1,Answer
    ;exten => s,2,Background(thanks)		; "Thanks for calling press 1 for sales, 2 for support, ..."
    ;exten => 1,1,Goto(submenu,s,1)
    ;exten => 2,1,Hangup
    ;include => default
    ;
    ;[submenu]
    ;exten => s,1,Ringing					; Make them comfortable with 2 seconds of ringback
    ;exten => s,2,Wait,2
    ;exten => s,3,Background(submenuopts)	; "Thanks for calling the sales department.  Press 1 for steve, 2 for..."
    ;exten => 1,1,Goto(default,steve,1)
    ;exten => 2,1,Goto(default,mark,2)
    
    [default]
    ;
    ; By default we include the demo.  In a production system, you 
    ; probably don't want to have the demo there.
    ;
    include => demo
    
    ;
    ; Extensions like the two below can be used for FWD, Nikotel, sipgate etc.
    ; Note that you must have a [sipprovider] section in sip.conf whereas
    ; the otherprovider.net example does not require such a peer definition
    ;
    ;exten => _41X.,1,Dial(SIP/${EXTEN:2}@sipprovider,,r)
    ;exten => _42X.,1,Dial(SIP/user:passwd@${EXTEN:2}@otherprovider.net,30,rT)
    
    ; Real extensions would go here. Generally you want real extensions to be 4 or 5
    ; digits long (although there is no such requirement) and start with a single
    ; digit that is fairly large (like 6 or 7) so that you have plenty of room to
    ; overlap extensions and menu options without conflict.  You can alias them with
    ; names, too and use global variables
    
    ;exten => 6245,1,Dial(SIP/Grandstream1,20,rt)	; permit transfer
    ;exten => 6245,1,Dial(SIP/Grandstream1&SIP/Xlite1,20,rtT)
    ;exten => 6361,1,Dial(IAX2/JaneDoe,,rm)		; ring without time limit
    ;exten => 6389,1,Dial(MGCP/aaln/1@192.168.0.14)
    ;exten => 6394,1,Dial(Local/6275/n)		; this will dial ${MARK}
    
    ;exten => 6275,1,Macro(stdexten,6275,${MARK})	; assuming ${MARK} is something like Zap/2
    ;exten => mark,1,Goto(6275|1)			; alias mark to 6275
    ;exten => 6536,1,Macro(stdexten,6236,${WIL})	; Ditto for wil
    ;exten => wil,1,Goto(6236|1)
    ;
    ; Some other handy things are an extension for checking voicemail via
    ; voicemailmain
    ;
    ;exten => 8500,1,VoicemailMain
    ;exten => 8500,2,Hangup
    ;
    ; Or a conference room (you'll need to edit meetme.conf to enable this room)
    ;
    ;exten => 8600,1,Meetme(1234)
    ;
    ; Or playing an announcement to the called party, as soon it answers
    ;
    ;exten = 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg))
    ;
    ; For more information on applications, just type "show applications" at your
    ; friendly Asterisk CLI prompt.
    ;
    ; 'show application <command>' will show details of how you
    ; use that particular application in this file, the dial plan. 
    ;
    
    
     
  10. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    OK. Da iss das Answer schon drin. War auch eher unwahrscheinlich, dass das was aendern wuerde.
     
  11. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,281
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    Ich vermute, die Anlage macht bei externen Verbidungen automatisch DTMF, bei internen gar nicht oder nur nach umschalten. Da müsste mal jemand ran, der sich mit der TK-Anlage auskennt. Vielleicht steht es auch im Manual?

    jo
     
  12. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    das hört sich logisch an. Ich werde am Montag mal den Tenovis service anrufen. Ein Manual gibts genau wie die Konfigurationssoftware bei Tenovis nicht für Normalbürger. Die lassen sich das nämlich gut bezahlen wenn sie vorbeikommen und was umstellen.

    Immerhin kann ich nun ansagen, dass DTMF auf dem internen S0 nicht eingerichtet ist - das ist schon besser als "ich wollte mal asterisk anschließen - aber es geht mit ihrer Anlage nicht ..."


    Danke für die Tipps!
     
  13. garry

    garry Neuer User

    Registriert seit:
    26 Feb. 2005
    Beiträge:
    9
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Problem ist gelöst (Tonwahl muß aktiviert werden)

    hallo,

    also der Ansatz - fehlende DTMF Unterstützung - war es gewesen. Ein freundlicher Servicemitarbeiter von Tenovis hat mir diese Nacht eine neue Anlagensoftware aufgespielt. Ich muß nun am Systemtelefon nach dem connect mit * über eine Taste die Tonwahl aktivieren und habe nun Zugriff auf das Menü.
    Leider kostet die Umstellung aller Systemtelefone 80 Euronen :-( Die Software zum Einstellen gibt Tenovis leider nicht heraus.

    Daniel
     
  14. rollo

    rollo IPPF-Promi

    Registriert seit:
    5 Juli 2004
    Beiträge:
    8,281
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Ort:
    JO30SK
    Na Prima :)

    Vielen Dank für die Rückmeldung und viel Spass mit der Anlage.
    Ich setze mal ein [Gelöst] vor den Threadtitel.

    jo