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

chan_visdn keine DTMF Erkennung

Dieses Thema im Forum "Asterisk ISDN mit vISDN" wurde erstellt von ZicZac, 7 Jan. 2006.

  1. ZicZac

    ZicZac Neuer User

    Registriert seit:
    10 Apr. 2005
    Beiträge:
    76
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Moin,

    ich habe gerade vISDN + chan_visdn erfolgreich zum "laufen" gebracht (TE+NT). Beim Abfragen der VoiceMail erkennt Asterisk jedoch keine DTMF-Töne. Hat jemand vielleicht 'ne Lösung?

    ciao
    ZicZac
     
  2. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Ist bzw. war noch nicht implementiert.
     
  3. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Update:
    Es sollte mittlerweile funktionieren, zumindest hat es bei mir mit der aktuellen Verison (arch, gestern) und einem DeTeWe440i+Demo funktioniert.

    Jetzt fehlt nur noch die Echounterdrückung ;)

    Die Interruptlast (cat /proc/interrupts) ist auch sehr niedrig.
     
  4. ZicZac

    ZicZac Neuer User

    Registriert seit:
    10 Apr. 2005
    Beiträge:
    76
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi cibi,

    Toll, DTMF-Erkennung funktioniert (ARCH-Patch-434).

    ...und volle Unterstützung von HFC-USB. Ausserdem kommt es bei langen Gesprächen (>30 min) manchmal zu einem Abbruch. Die Leitung ist einfach tot. Nach auflegen/abheben kann man jedoch wieder telefonieren.

    Ich freue mich auf jeden Fall über das rasante Entwicklungstempo und das es vISDN gibt. Meine Hoffnung, dass aus mISDN einmal etwas brauchbares wird habe ich im Laufe der letzten 2 Jahre langsam begraben.

    ciao
    ZicZac
     
  5. Karl23

    Karl23 Neuer User

    Registriert seit:
    8 Nov. 2004
    Beiträge:
    108
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @ZigZac: Wärst Du so nett und postest hier deine visdn Konfiguration.

    /etc/visdn/devicexxxx
    visdn.conf

    Bei mir wird immer nur die Karte im TE erkannt.
     
  6. ZicZac

    ZicZac Neuer User

    Registriert seit:
    10 Apr. 2005
    Beiträge:
    76
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Karl23,

    hier:

    TE-Karte:
    Code:
    <netdev visdn0>
      protocol lapd
      role TE
      tei dynamic
    </netdev>
    
    <port st0>
      attribute role TE
    
      <chan D>
        connectmodule netdev visdn0
      </chan>
    
      <chan E>
        connectmodule netdev visdn0 echo
      </chan>
    </port>
    
    NT-Karte:
    Code:
    <netdev visdn1>
      protocol lapd
      role NT
      tei dynamic
    </netdev>
    
    <port st0>
      attribute role NT
    
      <chan D>
        connectmodule netdev visdn1
      </chan>
    
      <chan E>
        connectmodule netdev visdn1 echo
      </chan>
    </port>
    
    visdn.conf
    Code:
    [general]
    
    [global]
    network_role = private
    tones_option = yes
    outbound_called_ton = unknown
    ;force_outbound_cli = no
    ;force_outbound_cli_ton = no
    clir_mode = default_off
    cli_rewriting = No
    national_prefix = 0
    international_prefix = 00
    network_specific_prefix =
    subscriber_prefix =
    abbreviated_prefix =
    overlap_sending = No
    ;overlap_sending = Yes
    overlap_receiving = No
    autorelease_dlc = 10
    
    [huntgroup:telco]
    mode = sequential
    
    [visdn0]
    network_role = private
    context = inbound
    tones_option = yes
    outbound_called_ton = unknown
    ;force_outbound_cli = No
    ;force_outbound_cli_ton = no
    clip_enabled = Yes
    clip_default_name =
    clip_default_number =
    clip_numbers = _X.
    clir_mode = off
    cli_rewriting = No
    overlap_sending = No
    overlap_receiving = No
    
    [visdn1]
    network_role = private
    context = outbound
    tones_option = yes
    outbound_called_ton = unknown
    ;force_outbound_cli = No
    ;force_outbound_cli_ton = no
    clip_enabled = Yes
    clip_default_name =
    clip_default_number =
    clip_numbers = _X.
    clir_mode = off
    cli_rewriting = No
    overlap_sending = No
    overlap_receiving = No
    
    cu
    ZicZac
     
  7. Karl23

    Karl23 Neuer User

    Registriert seit:
    8 Nov. 2004
    Beiträge:
    108
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Vielen Dank
     
  8. tomster

    tomster Mitglied

    Registriert seit:
    6 Dez. 2004
    Beiträge:
    238
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    bavaria superior
    Nachdem ich meinen "neuen" * auch mit visdn zum Laufen bringen will, mal ein paar grundsätzliche Fragen zur Konfiguration, nein besser ein Hilfeschrei:

    Ich habe eine Beronet QuadPort-Karte im Einsatz.

    Der INSTALL-Anleitung folgend habe ich die notwendigen Eintragungen in das device-pci-File gemacht und das visdn_configurator-Script laufen lassen:
    D: 000053
    E: 000054
    D: 000055
    E: 000056
    D: 000057
    E: 000058
    D: 000059
    E: 000060

    Sollte bislang alles hingehauen haben, meint man. Nur leider scheint das Script die Channels nicht in Asterisk eingehängt zu haben:

    Jan 30 10:49:35 NOTICE[2944]: app_dial.c:1011 dial_exec_full: Unable to create channel of type 'VISDN' (cause 66 - Channel not implemented)
    == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing PlayTones("SIP/11-f6ff", "busy") in new stack
    -- Executing Wait("SIP/11-f6ff", "10") in new stack
    == Spawn extension (default, 0xxxxxxxxx, 103) exited non-zero on 'SIP/11-f6ff'
    Leider habe ich bislang keine Infos hierzu gefunden, weil ja lediglich erwähnt wird, dass das Script "Das Alles" macht. Nur was ist alles?
    Bin um jeden Tipp dankbar ;-)
    TOM
     
  9. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    @tomster
    Welche Version setzt du ein?
    Ich vermute mal die Arch Version, zur Sicherheit hier mal die Befehle dafür
    Code:
    tla my-id "Foo Bar <foo@bar.com>"
    tla register-archive http://repo.visdn.org/archives/daniele@orlandi.com--2005
    tla my-default-archive daniele@orlandi.com--2005
    tla get isdn--devel--0.1
    
    Das Konfigurator Skript übernimmt nicht die Asteriskkonfig, also visdn.conf.
    Dazu gibt es im Sample Verzeichnis ein Beispiel.

    BTW: die neusten Änderungen
     
  10. tomster

    tomster Mitglied

    Registriert seit:
    6 Dez. 2004
    Beiträge:
    238
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    bavaria superior
    @cibi
    Ja, dürfte die (fast) aktuelleste Arch-Version sein, da ich eigentlich alle Files erst gestern gefetcht habe:

    visdn-devel-20060128.tar.bz2

    Yupp, mir ist klar, dass die Asterisk-Conf mittels visdn.conf erfolgt. Ich hab es nur so verstanden, dass das Script sämtliche Channels für * prinzipiell bereitstellt. Wie Asterisk dann darauf zugreift regelt die visdn.conf.
    Aber die Fehlermeldung erweckt bei mir den Eindruck, dass Asterisk den Channel visdn (oder den Befehl) gar nicht kennt. Drum hatte ich vermutet, dass etwas am Script wohl nicht richtig "eingehängt" wurde.
    Hier mal meine visdn.conf. Ich kann nix Falsches erkennen ;-)

    Code:
    
    [general]
    
    [global]
    network_role = private
    tones_option = yes
    outbound_called_ton = unknown
    ;force_outbound_cli =
    ;force_outbound_cli_ton = no
    clir_mode = default_off
    cli_rewriting = No
    national_prefix = 0
    international_prefix = 00
    network_specific_prefix =
    subscriber_prefix =
    abbreviated_prefix =
    overlap_sending = Yes
    overlap_receiving = Yes
    autorelease_dlc = 10
    call_bumping = No
    
    [huntgroup:telco]
    mode = sequential
    
    [visdn1.0]
    network_role = private
    context = isdn-ankommend
    tones_option = yes
    outbound_called_ton = unknown
    force_outbound_cli =
    force_outbound_cli_ton = no
    clip_default_name = QuadBRI Port 0
    clip_default_number = 85750XX
    clip_numbers = 85750XX
    clir_mode = default_off
    overlap_sending = Yes
    overlap_receiving = No
    hunt_member_of = telco
    hunt_channels = all
    
    
    [visdn1.1]
    network_role = private
    context = isdn-ankommend
    tones_option = yes
    outbound_called_ton = unknown
    force_outbound_cli =
    force_outbound_cli_ton = no
    clir_mode = default_off
    clip_default_name = QuadBRI Port 1
    clip_default_number = 85750XX
    clip_numbers = 85750XX
    overlap_sending = Yes
    overlap_receiving = No
    hunt_member_of = telco
    hunt_channels = all
    
    [visdn1.2]
    network_role = private
    context = isdn-ankommend
    tones_option = yes
    outbound_called_ton = unknown
    force_outbound_cli =
    force_outbound_cli_ton = no
    clir_mode = default_off
    clip_default_name = QuadBRI Port 2
    clip_default_number = 85755XX
    clip_numbers = 85755XX
    overlap_sending = Yes
    overlap_receiving = No
    
    [visdn1.3]
    network_role = private
    context = visdn1_3_in
    tones_option = yes
    outbound_called_ton = unknown
    force_outbound_cli =
    force_outbound_cli_ton = no
    clir_mode = default_off
    clip_default_name = QuadBRI Port 3
    clip_default_number = 203
    clip_numbers = _20[3456]
    overlap_sending = Yes
    overlap_receiving = No
    
    
     
  11. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Ist das chan_visdn.so Modul geladen? (show modules im * CLI )
    (Zumindest dann kommt bei mir die Fehlermeldung)
    Der Installer kopiert manchmal nicht alle Asterisk/Kernel Module an die richtige Stelle.

    Ein lsmod | grep visdn sieht bei mir so aus:
    SUSE 10, eine billige HFC Karte, etwas ältere visdn revision.
    (Ist sogar noch eine zweite Konfiguriert, aber z.Zt. nicht eingebaut, das macht aber nichts aus)
    Code:
    visdn_hfc_usb          28804  0
    visdn_hfc_4s           56324  0
    visdn_timer_system      2944  0
    visdn_ppp               9840  0
    ppp_generic            28948  1 visdn_ppp
    visdn_streamport        9200  0
    visdn_netdev           12912  0
    visdn_hfc_pci          32516  0
    visdn_softcxc           6196  6 visdn_hfc_usb,visdn_hfc_4s,visdn_ppp,visdn_streamport,visdn_netdev,visdn_hfc_pci
    visdn_core             47916  8 visdn_hfc_usb,visdn_hfc_4s,visdn_timer_system,visdn_ppp,visdn_streamport,visdn_netdev,visdn_hfc_pci,visdn_softcxc
    usbcore               119552  5 visdn_hfc_usb,usbhid,ehci_hcd,ohci_hcd
    
     
  12. tomster

    tomster Mitglied

    Registriert seit:
    6 Dez. 2004
    Beiträge:
    238
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    bavaria superior
    #12 tomster, 30 Jan. 2006
    Zuletzt bearbeitet: 30 Jan. 2006
    Ok, es schaut tatsächlich so aus, als wäre das Modul nicht geladen worden.
    ...wir kommen dem Problem näher...

    "show modules" zeigt zunächt nichts an.
    Wenn ich in der modules.conf
    load => chan_visdn.so
    manuell eintrage, dann startet der * nimma. Ergo findet er tatsächlich das Modul ned. Nachdem ich ein FC4 fahre, habe ich die chan_visdn.so Mal nach /usr/lib64/asterisk/modules kopiert. Nun findet er das Modul, mosert aber, dass er die Variable hunt nicht kennt...

    [chan_visdn.so] => (VISDN Channel For Asterisk)
    == Parsing '/etc/asterisk/visdn.conf': Found
    Jan 30 14:47:36 WARNING[3582]: chan_visdn.c:1430 visdn_intf_reconfigure: Unknown configuration variable hunt_member_of
    Jan 30 14:47:36 WARNING[3582]: chan_visdn.c:1430 visdn_intf_reconfigure: Unknown configuration variable hunt_channels
    Jan 30 14:47:36 WARNING[3582]: chan_visdn.c:1430 visdn_intf_reconfigure: Unknown configuration variable hunt_member_of
    Jan 30 14:47:36 WARNING[3582]: chan_visdn.c:1430 visdn_intf_reconfigure: Unknown configuration variable hunt_channels
    == Registered channel type 'VISDN' (VISDN Channel For Asterisk)
    == Registered application 'VISDNOverlapDial'

    --edit--
    Ok, ich hab die hunt-Variablen nun mal auskommentiert. Jetzt mosert er deshalb nicht mehr.
    Es folgt jedoch sofort das nächste Problem:

    Jan 30 15:24:08 WARNING[3997]: chan_visdn.c:1220 visdn_open_interface: Cannot open interface visdn1.3, skipping
    Jan 30 15:24:10 ERROR[3997]: libq931:0 : visdn1.0: setsockopt(SO_BINDTODEVICE): Bad file descriptor
    Jan 30 15:24:10 WARNING[3997]: chan_visdn.c:1220 visdn_open_interface: Cannot open interface visdn1.0, skipping
    Jan 30 15:24:10 ERROR[3997]: libq931:0 : visdn1.1: setsockopt(SO_BINDTODEVICE): Bad file descriptor
    Jan 30 15:24:10 WARNING[3997]: chan_visdn.c:1220 visdn_open_interface: Cannot open interface visdn1.1, skipping
    Jan 30 15:24:10 ERROR[3997]: libq931:0 : visdn1.2: setsockopt(SO_BINDTODEVICE): Bad file descriptor
    Jan 30 15:24:10 WARNING[3997]: chan_visdn.c:1220 visdn_open_interface: Cannot open interface visdn1.2, skipping
    Jan 30 15:24:10 ERROR[3997]: libq931:0 : visdn1.3: setsockopt(SO_BINDTODEVICE): Bad file descriptor
    Jan 30 15:24:10 WARNING[3997]: chan_visdn.c:1220 visdn_open_interface: Cannot open interface visdn1.3, skipping

    Warum nur kann er die Interfaces nicht öffnen?
     
  13. tomster

    tomster Mitglied

    Registriert seit:
    6 Dez. 2004
    Beiträge:
    238
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    bavaria superior
    Nochmal ich.
    Ich habe langsam die Vermutung, dass das visdn_configurator Script nicht recht viel macht...
    Wenn ich aber das ReadMe richtig verstehe, dann sollten doch chan_visdn.so, chan_visdn.c, etc. durch das Script an die richtigen Stellen kopiert werden, oder?
    Den Rest macht dann die visdn.conf in Verbindung mit der extensions.conf.
    Allerdings scheint mir, dass die beiden config-Dateien gar nicht zum Tragen kommen, weil * die Treiber gar nicht findet.
    Weiß wer, welche Files das Script wohin kopieren sollte? Dann könnte ich es zumindest manuell machen...
    Danke für Eure Hilfe schon Mal
     
  14. tomster

    tomster Mitglied

    Registriert seit:
    6 Dez. 2004
    Beiträge:
    238
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    bavaria superior
    Kommando zurück.
    Es war wohl tatsächlich irgendwas falsch in der visdn.conf
    Nachdem ich die sample-Datei 1:1 kopiert habe mosert * gar nicht mehr.
    Woran das aber nun liegt? Keine Ahnung
    Auch wenn ich immer noch nicht telefonieren kann ;-)