chan_visdn keine DTMF Erkennung

ZicZac

Neuer User
Mitglied seit
10 Apr 2005
Beiträge
76
Punkte für Reaktionen
0
Punkte
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
 
ZicZac schrieb:
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?
Ist bzw. war noch nicht implementiert.
vISDN Mailiste schrieb:
> > On Tuesday 10 January 2006 21:21 :
>> >>
>> >> Now if only DTMF was ready <VBG>
>> >> (Just poking fun now, Daniele, I can wait a bit longer!)
> >
On Tue, January 10, 2006 21:38 :
> > DTMF detection should already be working, I just forgot to mention it on
> > the
> > list :)
> >
> > Bye,
> >

You are the MAN! It works great!
 
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.
 
Hi cibi,

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

cibi schrieb:
Jetzt fehlt nur noch die Echounterdrückung.

...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
 
@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.
 
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
 
Vielen Dank
 
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
 
@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 <[email protected]>"
tla register-archive http://repo.visdn.org/archives/[email protected]
tla my-default-archive [email protected]
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
- 2006-01-29 patch-493: Various EC-related fixes
- 2006-01-28 patch-492: Fixed fifo_state output routine in hfc_4s
- 2006-01-28 patch-491: Prelimiary echo canceller implementation, rarely working
 
@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
 
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
 
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?
 
Zuletzt bearbeitet:
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
 
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 ;-)
 
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.