mISDN + mISDNuser + chan_misdn

RcRaCk2k

Mitglied
Mitglied seit
4 Aug 2005
Beiträge
238
Punkte für Reaktionen
1
Punkte
16
Schönen guten Abend.

Ich versuche gerade mISDN auf meinem Rechner Gentoo Linux 2.6.13.3 zum Laufen zu bringen.

Habe bereits den Kernel gepatched, und die Module AVM Fritz!Card sowie HFC-S PCI Cards aktiviert.

Kernel ist neu kompiliert und System neu gestartet. Ich kann die Module nun auch erfolgreich laden.

Vorab - ich verwende folgende Sources:
• mISDN-CVS-2005-11-26
• mISDNuser-CVS-2005-11-17

Wenn ich jetzt allerdings mISDNuser kompilieren will erhalte ich folgenden Fehler:
Code:
make TARGET=all subdirs
make[1]: Entering directory `/usr/src/mISDNuser'
set -e; for i in lib example i4lnet tenovis voip ; do make -C $i all; done
make[2]: Entering directory `/usr/src/mISDNuser/lib'
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o device.o device.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o layer.o layer.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o stack.o stack.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o status.o status.c
rm -f libmISDN.a
ar -r libmISDN.a device.o layer.o stack.o status.o
ar: creating libmISDN.a
ar -s libmISDN.a
make[2]: Leaving directory `/usr/src/mISDNuser/lib'
make[2]: Entering directory `/usr/src/mISDNuser/example'
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o testcon.o testcon.c
cc   testcon.o /usr/src/mISDNuser/lib/libmISDN.a   -o testcon
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o testnet.o testnet.c
cc   testnet.o /usr/src/mISDNuser/lib/libmISDN.a   -o testnet
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o testcon_l2.o testcon_l2.c
cc   testcon_l2.o /usr/src/mISDNuser/lib/libmISDN.a   -o testcon_l2
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o loadfirm.o loadfirm.c
cc   loadfirm.o /usr/src/mISDNuser/lib/libmISDN.a   -o loadfirm
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o logger.o logger.c
cc   logger.o /usr/src/mISDNuser/lib/libmISDN.a   -o logger
make[2]: Leaving directory `/usr/src/mISDNuser/example'
make[2]: Entering directory `/usr/src/mISDNuser/i4lnet'
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o net_if.o net_if.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o isdn_debug.o isdn_debug.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o isdn_msg.o isdn_msg.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o fsm.o fsm.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o net_l2.o net_l2.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o tei.o tei.c
cc -g -Wall -O2 -I /usr/src/mISDNuser/include   -c -o net_l3.o net_l3.c
net_l3.c:186:2: warning: #warning also remove flags:
net_l3.c:204:2: warning: #warning also remove flags:
net_l3.c: In function `MsgStart':
net_l3.c:325: error: structure has no member named `feature'
net_l3.c:325: error: `FEATURE_NET_CRLEN2' undeclared (first use in this function)
net_l3.c:325: error: (Each undeclared identifier is reported only once
net_l3.c:325: error: for each function it appears in.)
net_l3.c: In function `l3dss1_message':
net_l3.c:377: error: structure has no member named `feature'
net_l3.c:377: error: `FEATURE_NET_CRLEN2' undeclared (first use in this function)
net_l3.c: In function `l3dss1_get_channel_id':
net_l3.c:521: error: structure has no member named `feature'
net_l3.c:521: error: `FEATURE_NET_EXTCID' undeclared (first use in this function)
net_l3.c: In function `l3dss1_facility':
net_l3.c:623: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_userinfo':
net_l3.c:640: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_setup':
net_l3.c:660: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_disconnect':
net_l3.c:781: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_disconnect_i':
net_l3.c:809: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_information':
net_l3.c:845: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_release':
net_l3.c:873: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_release_cmpl':
net_l3.c:918: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_setup_acknowledge_i':
net_l3.c:960: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_proceeding_i':
net_l3.c:990: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_alerting_i':
net_l3.c:1024: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_connect_i':
net_l3.c:1117: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_hold':
net_l3.c:1153: error: structure has no member named `feature'
net_l3.c:1153: error: `FEATURE_NET_HOLD' undeclared (first use in this function)
net_l3.c:1158:2: warning: #warning TODO: global mask for supported none mandatory services, like HOLD
net_l3.c:1171: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_retrieve':
net_l3.c:1182: error: structure has no member named `feature'
net_l3.c:1182: error: `FEATURE_NET_HOLD' undeclared (first use in this function)
net_l3.c:1199: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_suspend':
net_l3.c:1217: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_resume':
net_l3.c:1238: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c:1259:2: warning: #warning setup ack
net_l3.c: In function `create_child_proc':
net_l3.c:1302: error: `mISDNuser_head_t' undeclared (first use in this function)
net_l3.c:1302: error: `hh' undeclared (first use in this function)
net_l3.c:1306: error: syntax error before ')' token
net_l3.c:1307: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_release_mx':
net_l3.c:1365: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_release_cmpl_m':
net_l3.c:1376: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_release_cmpl_mx':
net_l3.c:1400: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3dss1_information_mx':
net_l3.c:1409: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c:1415:2: warning: #warning setup acknowledge
net_l3.c:1580:2: warning: #warning testing
net_l3.c: In function `l3dss1_setup_req':
net_l3.c:1581: error: structure has no member named `l2_state0'
net_l3.c:1581: error: structure has no member named `feature'
net_l3.c:1581: error: `FEATURE_NET_PTP' undeclared (first use in this function)
net_l3.c:1611:2: warning: #warning pc->bc is nice, but a task of the application. if you change anything, please let me know.
net_l3.c: In function `l3dss1_t303':
net_l3.c:1930: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c:2243:2: warning: #warning bitte beachte folgendes:
net_l3.c:2256:2: warning: #warning noch ein bug: wenn ein CC_DISCONNECT gesendet wird (state 7 = klingeling), dann bekommt man nur einen RELEASE_CR, aber keinen vorherigen RELEASE
net_l3.c:2323:2: warning: #warning TODO: save cause
net_l3.c:2324:2: warning: #warning bedenke auch, dass vielleicht overlap sending mit information-messages praktisch wäre (später PTP)
net_l3.c: At top level:
net_l3.c:2510: error: syntax error before "mISDNuser_head_t"
net_l3.c: In function `dl_data_mux':
net_l3.c:2517: error: `l3' undeclared (first use in this function)
net_l3.c:2519: error: `msg' undeclared (first use in this function)
net_l3.c:2529: error: `hh' undeclared (first use in this function)
net_l3.c:2593:2: warning: #warning TODO: it happens that a response to an outgoing setup is received after connect of another terminal. in this case we must release.
net_l3.c:2601: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `l3_muxer':
net_l3.c:2612: error: `mISDNuser_head_t' undeclared (first use in this function)
net_l3.c:2612: error: `hh' undeclared (first use in this function)
net_l3.c:2615: error: syntax error before ')' token
net_l3.c:2619: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c: In function `manager_l3':
net_l3.c:2634: error: `mISDNuser_head_t' undeclared (first use in this function)
net_l3.c:2634: error: `hh' undeclared (first use in this function)
net_l3.c:2638: error: syntax error before ')' token
net_l3.c:2642: error: `mISDNUSER_HEAD_SIZE' undeclared (first use in this function)
net_l3.c:2649: error: structure has no member named `feature'
net_l3.c:2649: error: `FEATURE_NET_CRLEN2' undeclared (first use in this function)
net_l3.c:2665:2: warning: #warning testing
net_l3.c: In function `release_l3':
net_l3.c:2721: error: structure has no member named `squeue0'
net_l3.c: In function `send_squeue':
net_l3.c:2756: error: structure has no member named `squeue0'
net_l3.c:2762:2: warning: #warning testing
net_l3.c:2803:2: warning: #warning l2_state makes no sense in multipoint environment. shouldnt we use something like l2_state[ces] ?
net_l3.c:2808:2: warning: #warning testing
net_l3.c: In function `l3_msg':
net_l3.c:2816: error: structure has no member named `l2_state0'
net_l3.c:2821: error: structure has no member named `squeue0'
net_l3.c:2822: error: structure has no member named `l2_state0'
net_l3.c:2832: error: structure has no member named `l2_state0'
net_l3.c:2834: error: structure has no member named `l2_state0'
net_l3.c:2840: error: structure has no member named `l2_state0'
net_l3.c:2841: error: structure has no member named `l2_state0'
net_l3.c:2842: error: structure has no member named `squeue0'
net_l3.c:2854: error: structure has no member named `l2_state0'
net_l3.c:2855: error: structure has no member named `l2_state0'
net_l3.c:2856: error: structure has no member named `squeue0'
net_l3.c:2867:2: warning: #warning du musst alle processe releasen CC_RELEASE!!! dies geschieht z.b. wenn man das telefon vom s0-bus abnimmt und der layer-2 dadurch zusammen bricht.
net_l3.c:2868:2: warning: #warning geschieht dies auch im TE-mode?
net_l3.c:2869:2: warning: #warning TODO DL_RELEASE | INDICATION handling; inclusiv special state 10 (T309)
net_l3.c:2871: error: structure has no member named `l2_state0'
net_l3.c:2872: error: structure has no member named `l2_state0'
net_l3.c:2885: error: structure has no member named `l2_state0'
net_l3.c:2886: error: structure has no member named `l2_state0'
net_l3.c:2899: error: structure has no member named `l2_state0'
net_l3.c:2901: error: structure has no member named `l2_state0'
net_l3.c:2923:2: warning: #warning testing
net_l3.c: In function `Isdnl3Init':
net_l3.c:2924: error: structure has no member named `squeue0'
net_l3.c:2925: error: structure has no member named `l2_state0'
make[2]: *** [net_l3.o] Error 1
make[2]: Leaving directory `/usr/src/mISDNuser/i4lnet'
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory `/usr/src/mISDNuser'
make: *** [all] Error 2

Hab schon bei Google gesurft usw. bin aber auf keinen grünen Zweig gekommen.

install-misdn von BeroNet hat bei mir auch nicht funktioniert. Bricht beim Installieren der KernelModule ab. Liegt aber sicherlich daran, weil ich meinen Kernel bereits gegen mISDN kompiliert habe.

Hoffe ihr könnt mir helfen.

Viele Grüße
Michael Rack
 
Danke - gesagt getan aber...

1) Habe die mISDN-CVS-2005-11-26 in den Kernel geladen
2) mISDNuser_for_PBX4Linux-3.0.tar.gz kompiliert
3) chan_misdn kompiliert und abgearbeitet (BeroNet)
4) Asterisk 1.2, libpri 1.2 durchkompiliert und installiert

Beim Starten von Asterisk passiert jedoch folgendes:
Code:
[chan_misdn.so] => (Channel driver for mISDN Support (Bri/Pri))
  == Parsing '/etc/asterisk/misdn.conf': Found
Got: 1,2 from get_ports
No lower Id port:1
init_stack: Function not implemented
 
RcRaCk2k vom 04.08.2005
install-misdn von BeroNet hat bei mir auch nicht funktioniert. Bricht beim Installieren der KernelModule ab. Liegt aber sicherlich daran, weil ich meinen Kernel bereits gegen mISDN kompiliert habe.

Geht bei mir einfach nicht - keine Ahnung warum *lol*
 
RcRaCk2k schrieb:
RcRaCk2k vom 04.08.2005
install-misdn von BeroNet hat bei mir auch nicht funktioniert. Bricht beim Installieren der KernelModule ab. Liegt aber sicherlich daran, weil ich meinen Kernel bereits gegen mISDN kompiliert habe.

Geht bei mir einfach nicht - keine Ahnung warum *lol*
Hatte ich übersehen (mein erster Beitrag wurde nicht eingestellt, da hatte ich beim 2. Versuch einfach noch den Link hinzugefügt... :)

Du kannst ja mal die mqueue Version probieren. Das klappte bei mir mit OpenSuse 10 ohne Probleme .
Mit Debian (s. Signatur) bin ich mit jolly/beronet verzweifelt (mal klappte das kompilieren, dann wollte aber Asterisk nicht...)
 
Du hast recht! Das selbe Problem krieg ich auch. Scheint nen Fehler im chan_mISDN oder im Asterisk 1.2 zu sein. Soweit ich weiss ist bei chan_mISDN nen Patch für den Asterisk drin (leider nur für Version 1.0.x)! Möglicherweise ist dieser Fehler im Astersik 1.2 noch nicht behoben worden!

Grüße Markus

Danke - gesagt getan aber...

1) Habe die mISDN-CVS-2005-11-26 in den Kernel geladen
2) mISDNuser_for_PBX4Linux-3.0.tar.gz kompiliert
3) chan_misdn kompiliert und abgearbeitet (BeroNet)
4) Asterisk 1.2, libpri 1.2 durchkompiliert und installiert

Beim Starten von Asterisk passiert jedoch folgendes:

Code:
 [chan_misdn.so] => (Channel driver for mISDN Support (Bri/Pri))
  == Parsing '/etc/asterisk/misdn.conf': Found
Got: 1,2 from get_ports
No lower Id port:1
init_stack: Function not implemented
 
Re: RE: mISDN + mISDNuser + chan_misdn

Hallo,
ich habe chan_misdn mit hfcpci und avmfritz im installiert. Ich bekomme auch diverse Fehlermeldungen. Telefon am hfcpci funktionierte fast auf Anhieb. Probleme machten eingehende Calls auf der avmfritz, die blieben irgendwo im Nirwana.
Wenn ich allerdings das misdn-init mehrmals starte/stoppe/starte/starte/starte dann geht auch das.
Also so ganz rund läuft das mit dem misdn sowieso nicht, man kann ja nichtmal die R-Taste benutzen um das Gespräch weiterzuleiten oder was auch immer.Das Konzept "misdn" finde ich ja gut, aber noch nicht sonderlich praxistauglich.



Code:
Got: 1,2 from get_ports
No lower Id port:1
init_stack: Function not implemented

Das hatte ich auch erst, bei mir war die Lösung folgender Eintrag in der misdn.conf:
ports=1ptmtp
ports=2ptmtp

statt nur 1,2 oder sowas.
 
Hab jetzt folgende Konfiguration:

Code:
#
# AVM-Fritz Card (TE-Mode)
# @connetivity  DT-Telekom (ISDN-PSTN)
#
[extern]
ports=1ptmp
context=pstn-extern
msn=*

#
# HFC-S Cologne ChipSet Card (NT-Mode)
# @connectivity Local PSTN trouth NTBA
#
[intern]
ports=2ptmp
context=pstn-intern

Aber mein Problem hat sich nicht geändert... Ich werd echt noch bescheuert... Es muss doch eine funktionierende Application für HFC-S, AVM Fritz und Asterisk 1.2 geben...

Ich glaub des dauert alles noch ein wenig.

Werde jetzt mal auf vISDN umsteigen und kucken ob des mit Asterisk 1.2 läuft... *thinkno....
 
RcRaCk2k schrieb:
Werde jetzt mal auf vISDN umsteigen und kucken ob des mit Asterisk 1.2 läuft... *thinkno....

lt. Mailingliste noch nicht (ohne Probleme?) - es soll aber demnaächst eine neue Version kommen. u.a. gibt es zur Zeit noch kein/Probleme mit Echos

Hat jemand von euch mal den CVS TAG/Branch "mqueue" von mISDN/mISDNuser ausprobiert? Ich hatte das nur kompiliert und mal kurz Asterisk damit gestartet, aber nicht wirklich getestet...
 
Wie bezieht man den CVS Tree mqueue?
Dann versuch ich ihn mal...

Code:
cvs -d :pserver:[email protected]:/i4ldev co -r mqueue mISDN
cvs -d :pserver:[email protected]:/i4ldev co -r mqueue mISDNuser

Schließlich muss ich ja wieder meinen Asterisk zum Laufen bringen...

Du hast gesagt - du hast deinen Asterisk damit mal laufen lassen.
Also hat bei dir das einkompilieren von mISDN in den Kernel geklappt, und du hast mISDNuser erfolgreich kompilieren können?

Oder gabs bei dir irgendwelche Komplikationen?
 
Die CVS Befehle stimmen soweit.
Du musst eventuell in den Makefiles noch die Include und Source Pfade anpassen (ich kompiliere es gerade mal nebenher, ich sag dann die genauen Modifikationen)
 
Hab mir gerade den neuen Kernel 2.6.14.3 heruntergeladen und die mISDN reingepatched... Bin gerade am Kompilieren des Kernels... Langwierige Angelegenheit.

Zudem surfte ich gerade ein wenig im Internet und hab ein paar Interessante Sachen gefunden... http://www.mail-archive.com/[email protected]/msg122375.html werde mal nach dieser Anleitung ein wenig vorgehen und kucken inwiefern es mir behilflich sein kann.

Vielen Dank schon einmal.
 
### Make sure you update your linux with the header files of mISDN (not doing this has cause me lots of head-ache and wasted hours)

cp /usr/src/mqueue/mISDN/include/linux/*.h /usr/include/linux.
Ich habe einfach das mISDN/include/linux Verzeichnis nach mISDNuser/include/linux kopiert :) aber die obige Lösung ist wohl besser.

Als chan_mISDN habe eine Version von
http://www.beronet.com/downloads/chan_misdn/releases/V0.3/candidates/
genommen. (letztes mal glaube ich rc7, dieses mal rc9)
Edit: Das ist dieselbe Version wie aus dem im Link beschriebenem Unstable Verzeichnis


Man muss im Makefile von chan_mISDN noch den mISDNuser Pfad ändern in dem man MISDNUSER abändert.
Code:
ifndef MISDNUSER
#MISDNUSER=/usr/src/install-misdn/mISDNuser
MISDNUSER=$(shell pwd)/misdn/lib/mISDNuser/
endif
 
Oh mein Gott... Hab gerade meinen Kernel ausprobiert, und bemekrt - Ich IDIOT habe mISDN in den Kernel hinein kompiliert, anstatt ihn als Module rein zu machen... Jetzt muss ich den Kernel nochmal machen :))

Hoffentlich gehts dann.
 
NICE GREETINGS.... mISDN + Asterisk 1.2 is running...

Code:
*CLI> misdn show port 1
BEGIN STACK_LIST:
  * Stack Addr:40000101 Port 1 Type NT Prot. PMP L2Link DOWN L1Link:DOWN  Debug:0
*CLI> misdn show port 2
BEGIN STACK_LIST:
  * Stack Addr:40000204 Port 2 Type TE Prot. PMP L2Link DOWN L1Link:DOWN  Debug:0
*CLI>

Warst mir ne riesen große Hilfe.... Vielen vielen vielen lieben Dank

Ich werde darüber ein Tutorial schreiben.

Greetings.
Michael Rack.
 
Ok, so mein Asterisk läuft jetzt. Ich kann auch gespräche von VoIP Telefonen auf meine ISDN Telefone tätigen, genauso wie auch von ISDN zu meinen lokalen VoIP Telefonen.

Wenn ich jetzt allerdings versuche über meine AVM Fritz!Card zu telefonieren, geht nix - kommt folgende Meldung:
Code:
  == Spawn extension (local-sip, call_lcr, 4) exited non-zero on 'SIP/20-bd2b'
    -- Executing SetVar("SIP/20-bd0d", "lcr=01035017624295117") in new stack
    -- Executing Goto("SIP/20-bd0d", "call_lcr|1") in new stack
    -- Goto (local-sip,call_lcr,1)
    -- Executing Macro("SIP/20-bd0d", "recording|01035017624295117|20") in new stack
    -- Executing SetVar("SIP/20-bd0d", "CALLFILENAME=01035017624295117-20-20051201-225421") in new stack
    -- Executing Monitor("SIP/20-bd0d", "wav|01035017624295117-20-20051201-225421|mb") in new stack
    -- Executing SetCallerID("SIP/20-bd0d", "20") in new stack
    -- Executing Dial("SIP/20-bd0d", "mISDN/g:extern/01035017624295117") in new stack
P[ 0] SENDEVENT: stack->nt:0 stack->uperid:40000204
    -- Called g:extern/01035017624295117
P[ 0] SENDEVENT: stack->nt:0 stack->uperid:40000204
  == No one is available to answer at this time (1:0/0/0)
    -- Executing Congestion("SIP/20-bd0d", "") in new stack
  == Spawn extension (local-sip, call_lcr, 4) exited non-zero on 'SIP/20-bd0d'

Ich habe folgende Konfiguration:
misdn.conf
Code:
[general]
debug=0

;tracefile=/var/log/misdn.trace
trace_calls=false
trace_dir=/var/log/

bridging=yes
stop_tone_after_first_digit=yes
append_digits2exten=yes
l1_info_ok=yes
clear_l3=no

;;; CRYPTION STUFF
dynamic_crypt=no
crypt_prefix=**
crypt_keys=test,muh

[default]
context=misdn
language=de
nationalprefix=0
internationalprefix=00
rxgain=0
txgain=0
te_choose_channel=no
dialplan=0
use_callingpres=yes
echocancelwhenbridged=no
echotraining=yes

;#
;# AVM-Fritz Card (TE-Mode)
;# @connetivity DT-Telekom (ISDN-PSTN)
;#
[extern]
ports=2ptmp
context=pstn-extern
msn=1692,650530,650674,650637,650638

;#
;# HFC-S Cologne ChipSet Card (NT-Mode)
;# @connectivity        Local PSTN trouth NTBA
;#
[intern]
ports=1ptmp
context=pstn-intern

meine extension.conf sieht so aus:
Code:
;
; Static extension configuration file, used by
; the pbx_config module. This is where you configure all your
; inbound and outbound calls in Asterisk.
;
; This configuration file is reloaded
; - With the "extensions reload" command in the CLI
; - With the "reload" command (that reloads everything) in the CLI

;
; The "General" category is for certain variables.
;
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no

[globals]




;
; Meine local definierten ISDN-Telefonnummern
;
[my-numbers]
;
; Familie Rack
; @local-MSN    +49 (0)8654 1692
; @VoIP-Number  [email][email protected][/email]
; @provider     1und1
; @termination  SIP, PSTN
;
exten => 1692,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => 1692,2,DIAL(ZAP/g1/${EXTEN},40,tr)
exten => 1692,3,Congestion
exten => 1692,4,Hangup

;
; Michael Rack
; @local-MSN    +49 (0)8654 650530
; @VoIP-Number  [email][email protected][/email]
; @provider     1und1
; @termination  SIP, PSTN
;
exten => 650530,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => 650530,2,DIAL(SIP/20&SIP/21&mISDN/g:intern/${EXTEN}&SIP/498654688872@650530-out,40,tr)
exten => 650630,3,Congestion
exten => 650530,4,Hangup

;
; Susanne Rack
; @local-MSN    +49 (0)8654 650674
; @VoIP-Number  [email][email protected][/email]
; @provider     1und1
; @termination  SIP, PSTN
;
exten => 650674,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => 650674,2,DIAL(mISDN/g:intern/${EXTEN},40,tr)
exten => 650674,3,Congestion
exten => 650674,4,Hangup

;
; Andrea Rack
; @local-MSN    +49 (0)8654 670437
; @VoIP-Number  [email][email protected][/email]
; @provider     1und1
; @termination  SIP, PSTN
;
exten => 670437,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => 670437,2,DIAL(mISDN/g:intern/${EXTEN},40,tr)
exten => 670437,3,Congestion
exten => 670437,4,Hangup

;
;
; RSM-Freilassing
; @local-MSN    +49 (0)8654 607110
; @provider     1und1
; @termination  SIP
;
exten => 607110,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => 607110,2,DIAL(SIP/30&mISDN/g:intern/607110,40,tr)
exten => 607110,3,Congestion
exten => 607110,4,Hangup

;
; Michael Rack
; @local-MSN    +49 (0)8654 480306
; @VoIP-Number  [email][email protected][/email]
; @provider     SipGate
; @termination  SIP, PSTN
;
exten => 480306,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => 480306,2,GoTo(9480306,2)
exten => 9480306,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => 9480306,2,DIAL(SIP/20&SIP/21&mISDN/g:intern/480306,40,tr)
exten => 9480306,3,Congestion
exten => 9480306,4,Hangup

;
; Interne SIP Rufnummern
; @termination  Asterisk SIP-Phones
;
[internal-sip]
exten => _XX,1,DIAL(SIP/${EXTEN},30,tr)
exten => _XX,2,Congestion
exten => _XX,3,Hangup

;
; Generelle Behandlung für ausgehende Anrufe
; @termination  unknown
;
[outband]
include => internal-sip
include => my-numbers
include => lcr
include => sonderrufnummern
include => trouth-capi
include => trouth-voip

;
; Generelle Behandlung für hereinkommende Anrufe
; @termination  unknown
;
[inbound]
include => my-numbers

;
; Wenn Anrufe über interne SIP-Accounts getätigt werden
; @termination  Asterisk SIP-Phone Server
;
[local-sip]
include => outband
include => outband

;
; Wenn Anrufe über externe SIP-Accounts herein kommen
; @termination  SIP-Proxy Server
;
[remote-sip]
include => inbound

;
; Anrufe die über die Telekom herein kommen
; @termination  Fritz!Card PCI
;
[pstn-extern]
include => inbound

;
; Anrufe kommen vom internen ISDN-Anschluss (HFC-S PCI-Card)
; @termination  HFC-PCI Card (Acer SurfPCI 128)
;
[pstn-intern]
include => outband


;
; Low-Cost-Routing je nach Tageszeit
;
[lcr]
include => lcr-day|9:00-20:00|mon-sun|*|*
include => lcr-night|20:00-9:00|mon-sun|*|*

;
; Low-Cost-Routing
; @timerange    09:00 - 20:00
;
[lcr-day]
; Anrufe in das Mobile Funknetz leitern wir über die 01086
exten => _016XX.,1,SetVar(lcr=01035${EXTEN})
exten => _016XX.,2,GoTo(call_lcr,1)
exten => _017XX.,1,SetVar(lcr=01035${EXTEN})
exten => _017XX.,2,GoTo(call_lcr,1)
exten => _015XX.,1,SetVar(lcr=01035${EXTEN})
exten => _015XX.,2,GoTo(call_lcr,1)

; Anrufe nach Ãsterreich geben wir weiter an die 01029
exten => _0043X.,1,SetVar(lcr=01029${EXTEN})
exten => _0043X.,2,GoTo(call_lcr,1)

; Dieser EXTEN ist für unser Routing zuständig
exten => call_lcr,1,Macro(recording,${lcr},${CALLERIDNUM})
exten => call_lcr,2,SetCallerId(${CALLERIDNUM})
exten => call_lcr,3,DIAL(mISDN/g:extern/${lcr})
exten => call_lcr,4,Congestion
exten => call_lcr,5,Hangup


;
; Low-Cost-Routing
; @timerange    20:00 - 09:00
; @timerange    20:00 - 09:00
;
[lcr-night]
; Anrufe in das Mobile Funknetz leitern wir über die 01029
exten => _016XX.,1,SetVar(lcr=01035${EXTEN})
exten => _016XX.,2,GoTo(call_lcr,1)
exten => _017XX.,1,SetVar(lcr=01035${EXTEN})
exten => _017XX.,2,GoTo(call_lcr,1)
exten => _015XX.,1,SetVar(lcr=01035${EXTEN})
exten => _015XX.,2,GoTo(call_lcr,1)

; Dieser EXTEN ist für unser Routing zuständig
exten => call_lcr,1,Macro(recording,${lcr},${CALLERIDNUM})
exten => call_lcr,2,SetCallerId(${CALLERIDNUM})
exten => call_lcr,3,DIAL(mISDN/g:extern/${lcr})
exten => call_lcr,4,Congestion
exten => call_lcr,5,Hangup

;
; Sonderrufnummern
; @description  Rufnummern, welche nur über PSTN erreichbar sind
;
[sonderrufnummern]
exten => _0180X.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _0180X.,2,SetCallerId(${CALLERIDNUM})
exten => _0180X.,3,DIAL(mISDN/g:extern/${EXTEN})
exten => _0180X.,4,Congestion
exten => _0180X.,5,Hangup

exten => _0800X.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _0800X.,2,SetCallerId(${CALLERIDNUM})
exten => _0800X.,3,DIAL(mISDN/g:extern/${EXTEN})
exten => _0800X.,4,Congestion
exten => _0800X.,5,Hangup

exten => _0135X.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _0135X.,2,SetCallerId(${CALLERIDNUM})
exten => _0135X.,3,DIAL(mISDN/g:extern/${EXTEN})
exten => _0135X.,4,Congestion
exten => _0135X.,5,Hangup

;
; Anruf über die Capi leiten
; @description  Anrufe über die CAPI raus leiten
;
[trouth-capi]
exten => _001x.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _001x.,2,SetCallerId(${CALLERIDNUM})
exten => _001x.,3,DIAL(mISDN/g:extern/${EXTEN:3})
exten => _001x.,4,Congestion
exten => _001x.,5,Hangup

;
; Recording
;
[macro-recording]
exten => s,1,SetVar(CALLFILENAME=${ARG1}-${ARG2}-${TIMESTAMP})
exten => s,2,Monitor(wav,${CALLFILENAME},mb)

;
; Sonderrufnummern
; @description  Rufnummern, welche nur über PSTN erreichbar sind
;
[sonderrufnummern]
exten => _0180X.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _0180X.,2,SetCallerId(${CALLERIDNUM})
exten => _0180X.,3,DIAL(mISDN/g:extern/${EXTEN})
exten => _0180X.,4,Congestion
exten => _0180X.,5,Hangup

exten => _0800X.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _0800X.,2,SetCallerId(${CALLERIDNUM})
exten => _0800X.,3,DIAL(mISDN/g:extern/${EXTEN})
exten => _0800X.,4,Congestion
exten => _0800X.,5,Hangup

exten => _0135X.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _0135X.,2,SetCallerId(${CALLERIDNUM})
exten => _0135X.,3,DIAL(mISDN/g:extern/${EXTEN})
exten => _0135X.,4,Congestion
exten => _0135X.,5,Hangup

;
; Anruf über die Capi leiten
; @description  Anrufe über die CAPI raus leiten
;
[trouth-capi]
exten => _001x.,1,Macro(recording,${EXTEN},${CALLERIDNUM})
exten => _001x.,2,SetCallerId(${CALLERIDNUM})
exten => _001x.,3,DIAL(mISDN/g:extern/${EXTEN:3})
exten => _001x.,4,Congestion
exten => _001x.,5,Hangup

;
; Recording
;
[macro-recording]
exten => s,1,SetVar(CALLFILENAME=${ARG1}-${ARG2}-${TIMESTAMP})
exten => s,2,Monitor(wav,${CALLFILENAME},mb)

;
; Anruf über einen SIP-Provider leiten
; @description  Alle Telefonate ins Festnetz sind kostenlos
;
[trouth-voip]
exten => _00X.,1,Macro(recording,00${EXTEN:2},${CALLERIDNUM})
exten => _00X.,2,DIAL(SIP/${EXTEN:2}@${CALLERIDNUM}-out,60,Tt)
exten => _00X.,3,Congestion
exten => _00X.,4,Hangup

exten => _0X.,1,Macro(recording,0049${EXTEN:1},${CALLERIDNUM})
exten => _0X.,2,DIAL(SIP/49${EXTEN:1}@${CALLERIDNUM}-out,60,Tt)
exten => _0X.,3,Congestion
exten => _0X.,4,Hangup

exten => _X.,1,Macro(recording,00498654${EXTEN},${CALLERIDNUM})
exten => _X.,2,DIAL(SIP/498654${EXTEN}@${CALLERIDNUM}-out,60,Tt)
exten => _X.,3,Congestion
exten => _X.,4,Hangup

meine misdn-init.conf sieht so aus:
Code:
#
# Configuration file for your misdn hardware
#
# Usage: /etc/init.d/misdn-init start|stop|restart|config|scan|help
#

#
# Card Settings
#
# Syntax: card=<number>,<type>[,<option>...]
#
#    <number>   count your cards beginning with 1
#    <type>     either 0x1,0x4 or 0x8 for your hfcmulti hardware,
#               or the name of your card driver module.
#    <option>   ulaw       - uLaw (instead of aLaw)
#               dtmf       - enable DTMF detection on all B-channels
#               pcm_slave  - set PCM bus into slave mode
#
card=1,hfcpci
card=2,avmfritz

#
# Port settings
#
# Syntax: <port_type>=<port_number>[,<port_number>...]
#
#    <port_type>    te_ptp   - TE-Mode, PTP
#                   te_ptmp  - TE-Mode, PTMP
#                   nt_ptp   - NT-Mode, PTP
#                   nt_ptmp  - NT-Mode, PTMP
#    <port_number>  port that should be considered
#
te_ptmp=2
nt_ptmp=1

#
# Port Options
#
# Syntax: option=<port_number>,<option>[,<option>...]
#
#    <option>  master_clock  - use master clock for this S/T interface
#                              (only once per chip, only for HFC 8/4)
#              optical       - optical (only HFC-E1)
#              los           - report LOS (only HFC-E1)
#              ais           - report AIS (only HFC-E1)
#              slip          - report SLIP (only HFC-E1)
#
#option=1,master_clock
#option=2,ais
#option=3,optical,los,ais,slip

#
# General Options for your hfcmulti hardware
#
# poll=<number>
#
#        Only one poll value must be given for all cards.
#        Give the number of samples for each fifo process.
#
card=1,hfcpci
card=2,avmfritz

#
# Port settings
#
# Syntax: <port_type>=<port_number>[,<port_number>...]
#
#    <port_type>    te_ptp   - TE-Mode, PTP
#                   te_ptmp  - TE-Mode, PTMP
#                   nt_ptp   - NT-Mode, PTP
#                   nt_ptmp  - NT-Mode, PTMP
#    <port_number>  port that should be considered
#
te_ptmp=2
nt_ptmp=1

#
# Port Options
#
# Syntax: option=<port_number>,<option>[,<option>...]
#
#    <option>  master_clock  - use master clock for this S/T interface
#                              (only once per chip, only for HFC 8/4)
#              optical       - optical (only HFC-E1)
#              los           - report LOS (only HFC-E1)
#              ais           - report AIS (only HFC-E1)
#              slip          - report SLIP (only HFC-E1)
#
#option=1,master_clock
#option=2,ais
#option=3,optical,los,ais,slip

#
# General Options for your hfcmulti hardware
#
# poll=<number>
#
#        Only one poll value must be given for all cards.
#        Give the number of samples for each fifo process.
#        By default 128 is used. Decrease to reduce delay, increase to
#        reduce cpu load. If unsure, don't mess with it!!!
#        Valid is 32, 64, 128, 256.
#
# pcm=<number>
#
#        Give the id of the PCM bus. All PCM busses with the same ID
#        are expected to be connected and have equal slots.
#        Only one chip of the PCM bus must be master, the others slave.
#        -1 means no support of PCM bus.
#
# debug=<number>
#
#        Enable debugging (see hfc_multi.h for debug options).
#
poll=64
#pcm=1
debug=0

Wenn mich von draussen jemand anruft, kommt die Meldung "Der Teilnehmer ist zur Zeit nicht erreichbar."

Kennt jemand den Fehler?

Grüße
Michael
 
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.