Grundsatzfragen nach der Installation

sethix

Neuer User
Mitglied seit
30 Apr 2008
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Hallo,

dank dem Wiki und den Anleitungen hier habe ich Asterisk auf meiner 7270 am laufen.

Bevor ich jetzt richtig loslege, habe ich ein paar Fragen zu vorhenen:

Ich habe KEINEN SIP-Provider und nutze hier ISDN-Telefone an der Box. Ziel des ganzen ist es, zusätzlich den Softphones (z.B. von zu Hause aus) auf der Box einzuwählen und damit quasi lokal erreichbar zu sein.

Wie ich das sehe, brauche ich dann weder die Telefon noch die SIP-Funktionen der Fritzbox, da das alles von Asterisk erledigt wird. Richtig so ?

Damit das aber etwas leichter wird, würde ich die ISDN-Rufnummern aus der Fritzbox rauswerfen und stattdessen Internetrufnummern einrichten. Die Fritzbox-Firmware sollte dann gar kein ISDN mehr nutzen, sondern immer über Asterisk / ISDN rausgehen. Features wie Faxempfang und DECT sollten dann weiterhin gehen.

Mein Plan:
1. Asterisk komplett konfigurieren
2. ISDN-MSN aus der Fritzbox-Konfig entfernen
3. Internetrufnummern in der Fritzbox eintragen
4. Telefone den Internetrufnummern zuordnen

Kann man das so machen ? Es wäre schön, wenn ich die entsprechende Konfiguration der Telefone dann noch über das Webinterface machen könnte, was hierbei ja gehen sollte.

Bevor ich mir das Wochenende jetzt versaue, also die Frage: Habe ich etwas wichtiges Vergessen oder wird das so gehen ?


Vielen Dank!

Bye, Sebastian
 
Hallöchen,

leider bekam ich noch keine Antwort, habe aber mal drauf los gebastelt.

Nun habe ich das fast gelöst:

- Asterisk läuft mit deaktiviertem internen S0.
- Die FB ist mit der Internetrufnummer 771 verbunden.
- Im ISDN-Telefon ist die MSN 771 vergeben.

Kommt ein Anruf von außen, wird alles perfekt signalisiert.

Sobald ich auf der 771 aber zusätzlich ein Softphone starte, klingelt es nur noch dort. Am S0 wird dann kein Anruf mehr signalisiert.

Ich muss dann erst das Softphone schließen und in der FB die Internetrufnummer neu aktivieren.


Liege ich da ganz falsch ? Ich dachte, ich kann mich mehrfach paralell unter einer ID anmelden.

Dazu bekomme ich auf der Konsole noch einige Fehlermeldungen:

Code:
# [May  3 12:53:27] WARNING[2957]: app_dial.c:1191 dial_exec_full: Unable to create channel of type 'IAX2' (cause 3 - No route to destination)
[May  3 12:53:27] WARNING[2957]: channel.c:3278 ast_request: No channel type registered for 'SCCP'
[May  3 12:53:27] WARNING[2957]: app_dial.c:1191 dial_exec_full: Unable to create channel of type 'SCCP' (cause 66 - Channel not implemented)
[May  3 12:53:27] WARNING[2957]: app_dial.c:1191 dial_exec_full: Unable to create channel of type 'CAPI' (cause 44 - Requested channel not available)
May  3 14:53:27 telefon[961]: SIGCHLD received!

So weit, dass ich das verstehe bin ich leider noch nicht. Vielleicht kann hier mal jmd. einen Blick drüberwerfen:

Sip.conf:
Code:
[general]
context=default			; Default context for incoming calls
; port 5060 already used by fritzbox, so use 5061
; and reconfigure local sip phones (remote sip goes through asFirmak!)
;                 ^^^^^
; XLITE in same subnet example config (fritzbox 192.168.222.100)
; - System Settings / SIP Proxy / Default
;   - Enabled: Yes
;   - Display Name=Username=Auth. User=: 771
;   - Password: 771
;   - Domain/Realm: 192.168.222.100
;   - SIP Proxy: 192.168.222.100:5061
;                                ^^^^
;   - Outbound Proxy: (empty)
;   - Use Outbound Proxy: Never
;   - Send Internal IP: Always
;                       ^^^^^^
;   - Register: Default
; - Advanced System Settings / Audio / Silence Settings
;   - Transmit Silence: Yes

bindport=5061			; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0		; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes			; Enable DNS SRV lookups on outbound calls
language=de

;using external sip provider
;and coping with dynamic ip address (the entry localnet=127...
;is required if the avm sip client is registered at localhost:5061)
;(idea taken from [email protected])
;externhost=my.dynamic.host
;localnet=127.0.0.0/255.0.0.0
;nat=yes
;canreinvite=no
;localnet=192.168.179.0/255.255.255.0
;register => bluesip/username:[email protected]/sip1
;...(http://www.ip-phone-forum.de/showpost.php?p=500468&postcount=12)

[771] ; Firma Büro
context=Firma
callerid="Firma" <771>
host=dynamic
domain=192.168.222.100
;nat=yes
qualify=no                     ; X-Lite is behind a NAT router
type=friend
user=buero
secret=*******
;mailbox=771
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

[772] ; Technik
context=Firma
callerid="Firma" <771>
host=dynamic
domain=192.168.222.100
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=technik
secret=*******
;mailbox=772
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

[773] ; Notruf
context=Firma
callerid="Firma" <771>
host=dynamic
domain=192.168.222.100
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=notruf
secret=*******
;mailbox=773
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

[774] ; Fax
context=FirmaFax
callerid="Firma Fax" <774>
host=dynamic
domain=192.168.222.100
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=fax
secret=*******
;mailbox=774
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

[775] ; Privatnummer
context=Privat
callerid="Privat" <775>
host=dynamic
domain=192.168.222.100
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=privat
secret=*******
;mailbox=774
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

[776]
context=Hildegard
callerid="Hildegard" <776>
host=dynamic
domain=192.168.222.100
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=hvt
secret=*******
;mailbox=774
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

[777]
context=HildegardFax
callerid="HvT" <777>
host=dynamic
domain=192.168.222.100
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=hvtfax
secret=*******
;mailbox=774
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw

; sip external outgoing
[sip1_out]
type=peer
;username=bluesip/username
;fromuser=username
;secret=password
;host=bluesip.net
;fromdomain=bluesip.net
insecure=port,invite
caninvite=no
canreinvite=no
nat=no
disallow=all
allow=gsm


; sip external incoming
[sip1_in]
type=peer
;fromdomain=bluesip.net
;host=bluesip.net
context=sip_in

capi.conf:
Code:
;
; CAPI config
; (1234567 gets replaced by script cfg_asterisk start)
;

; general section

[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0       ;linear receive gain (1.0 = no change)
txgain=1.0       ;linear transmit gain (1.0 = no change)
language=de      ;set default language (en/de...)
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.

; interface sections ...
[ISDN1]          ; fritzbox 7050/7170 external S0 (or external analog line: experimental)
ntmode=no      ;if isdn card operates in nt mode, set this to yes
isdnmode=msn     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
incomingmsn=*    ;allow incoming calls to this list of MSNs/DIDs, * = any,
defaultcid=72534848  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
controller=1     ;capi controller number to use (=4: fritzbox 7050/7150 at analog line)
group=1          ;dialout group
softdtmf=off      ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=off     ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode=     ;PBX accountcode to use in CDRs
context=capi_in1  ;context for incoming calls
;holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX may
                 ;play MOH.
bridge=no      ;native bridging (CAPI line interconnect) if available
devices=2        ;number of concurrent calls on this controller
                 ;(2 makes sense for single BRI, 30 for PRI)


[ISDN3]          ; fritzbox 7050 internal S0
;;ntmode=yes      ;if isdn card operates in nt mode, set this to yes
;;isdnmode=did     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
;;incomingmsn=*    ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
;;controller=3     ;capi controller number to use
;;group=3          ;dialout group
;;softdtmf=off      ;enable/disable software dtmf detection, recommended for AVM cards
;;relaxdtmf=off     ;in addition to softdtmf, you can use relaxed dtmf detection
;;accountcode=     ;PBX accountcode to use in CDRs
;;context=capi_in3  ;context for incoming calls
;holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX may
                 ;play MOH.
;immediate=yes   ;DID: immediate start of pbx with extension 's' if no digits were
                 ;     received on incoming call (no destination number yet)
                 ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
                 ;     info like REDIRECTINGNUMBER may be lost, but this is necessary for
                 ;     drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;;bridge=no      ;native bridging (CAPI line interconnect) if available
;;devices=2        ;number of concurrent calls on this controller
                 ;(2 makes sense for single BRI, 30 for PRI)


; unused example (reference)
;[ISDN9]          ;this example interface gets name 'ISDN9' and may be any
                 ;name not starting with 'g' or 'contr'.
                 ;Use one interface section for each isdn port!
;ntmode=yes      ;if isdn card operates in nt mode, set this to yes
;isdnmode=did     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
;incomingmsn=8001,8002 ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
;controller=0    ;ISDN4BSD default
;controller=7    ;ISDN4BSD USB default
;controller=1     ;capi controller number of this interface/port
;group=1          ;dialout group
;prefix=0        ;set a prefix to calling number on incoming calls
;softdtmf=on      ;enable/disable software dtmf detection, recommended for AVM cards
;relaxdtmf=on     ;in addition to softdtmf, you can use relaxed dtmf detection
;faxdetect=off    ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
                 ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
;accountcode=     ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
;context=capi_in  ;context for incoming calls
;holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX may
                 ;play MOH.
;immediate=yes   ;DID: immediate start of pbx with extension 's' if no digits were
                 ;     received on incoming call (no destination number yet)
                 ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
                 ;     info like REDIRECTINGNUMBER may be lost, but this is necessary for
                 ;     drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1   ;_VERY_PRIMITIVE_ echo suppression
;echocancel=yes  ;EICON DIVA SERVER (CAPI) echo cancelation (yes=g165)
                 ;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
;echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64     ;echo cancel tail setting (default=0 for maximum)
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
                 ;incorporate variable gain in the signal path.
;bridge=yes      ;native bridging (CAPI line interconnect) if available
;callgroup=1     ;PBX call group
;pickupgroup=1   ;PBX pickup group (which call groups are we allowed to pickup)
;language=de     ;set language for this device (overwrites default language)
;disallow=all    ;RTP codec selection (valid with Eicon DIVA Server only)
;allow=all       ;RTP codec selection (valid with Eicon DIVA Server only)
;devices=2        ;number of concurrent calls (b-channels) on this controller
                 ;(2 makes sense for single BRI, 30/23 for PRI/T1)
;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
;qsig=on         ;enable use of Q.SIG extensions.

extensions.conf
Code:
; ********************************************************************
; asterisk extension config für asterisk auf der Fritz!Box 7050/7170
; ********************************************************************
;   (asterisk 1.2.16 von openwrt.org; chan_capi 1.0.1; chan_sccp-20060408, isdn4kutils:
;    www.spblinux.de/fbox/openwrt/)
; mit besonderem Dank an betateilchen von www.ip-phone-forum.de
; für den asterisk Grundkurs (www.ip-phone-forum.de/showthread.php?t=91217)
; usb installation framework, chan_sccp, careful testing and more contributed by dynamic
; 2006-05, 2006-10, 2007-04, spblinux

; Konzept
; (WICHTIG: bei ungeschütztem Netzwerk Passwörter in sip.conf, iax.conf ändern!)
; - die MSN für das Festnetz am externen isdn S0 Bus der fritzbox ist in capi.conf
; gehende Rufe:
;  0xxxxxxx für Festnetz Nummer 0xxxxxxx (führende 0 wird mit gewählt)
;  5yyy     intern für ISDN Telefone (am internen S0 Bus, yyy=msn des Telefons)
;  6zzz     remote asterisk (user asterisk2, auf ip Adresse wie unten in [lokal],
;           Passwort steht in iax.conf, beide einstellbar durch cfg_asterisk start)
;  70y      interne SCCP Telefone (701, 702, 703 vorkonfiguriert ->sccp.conf)
;           (SCCP-Verwendung: sccp.conf muss angepasst werden und
;           noload => chan_sccp.so in modules.conf muss entfernt werden)
;  77z      interne SIP Telefone (771, 772, 773, 774 vorkonfiguriert ->sip.conf)
;           (neu 2007-01, dreistellige SIP Nummern, damit analoge Nebenstellen
;           der fritzbox sich problemlos per avm-sipclient am asterisk anmelden
;           koennen; auch fuer isdn intern empfohlen, damit dtmf und Signalisierung
;           funktionieren)
;  8z       interne IAX2 Telefone (81, 82, 83, 84 vorkonfiguriert ->iax.conf)
;  80       Echotest
;  89	    fragt Passwort ab (/var/tmp/asterisk/passwd) und startet Tunnel
;           zebedee2.bin -f /etc/zebedee/zbdr23.conf für telnetd
;  90       Anrufbeantwortertest (Email-Konfiguration in Abschnitt [globals])
;  91       Begruessungsansage fuer Anrufbeantworter aufnehmen
;           (geht bei reboot verloren, wenn nicht per cfg_asterisk usb_install
;           installiert worden ist; /var/lib/asterisk/sounds/VM_MESSAGE.gsm)
;           usb_install auf USB in addons/asterisk/usr/lib/asterisk/sounds)
;  92       Music on hold testen (/var/lib/asterisk/moh bzw. bei usb_install
;           auf USB in addons/asterisk/usr/lib/asterisk/moh)
;  93	    Callthrough testen (Passwort in /var/tmp/asterisk/passwd bzw. bei
;           usb_install auf USB in addons/asterisk/etc/asterisk/passwd)
;           (fragt Nummer ab und ruft diese Nummer per isdn (controller 1) an;
;           logfile in /var/log/asterisk, bei USB in addons/asterisk/log/asterisk)
;  94       Callback testen (nur fuer in CB_IN_CHANNEL festgelegten Anrufer
;           und nur auf in CB_OUT_CHANNEL festgelegte Nummer und Rueckruf
;           erfolgt nur, wenn innerhalb von 5 Sekunden aufgelegt wird)
;  95       Call headset
;  99xxxx   fuer voip ueber sip extern nach Nummer xxxx (siehe sip.conf)
; kommende Rufe:
; - Rufe vom Festnetz werden auf msn 31 (isdn intern), 701, 771 und 81 signalisiert
; - Anruf von in CB_IN_CHANNEL definierter externer Rufnummer aus triggert
;   Callback auf Nummer CB_OUT_CHANNEL (wenn innerhalb von 5 Sekunden aufgelegt wird)
; Anmerkungen:
; - bei den Telefonen 771,..774, 81,..84 ist Nummer=Name=User=Passwort voreingestellt
; - SIP Telefone MÜSSEN asterisk auf Port 5061 ansprechen (-> sip.conf)
;   (oder Port des avm-SIP-clients veraendern: teils per voipd Neustart
;   mit voipd -P 5062, teils durch Aendern von /var/flash/voip.cfg)
; - Telefone am internen S0: die oben genannten Nummern sind als
;   - 9aaaaaa# zu wählen
;   - und es muss auf der Fritzbox ein nicht aktiver Internetprovider existieren
;     z.b. Internetnummer 99
;   - eine Wahlregel in der Fritzbox muss 9 auf "Internetnummer 99" umleiten
;   (sonst übernimmt/ändert der telefon daemon auf der fritzbox den Anruf...
;   und ohne telefon daemon geht das Rauswählen ins Festnetz nicht)
;   - zudem muss bei Internettelefonie/Erweitert der automatische Fallback
;     ins Festnetz ausgeschaltet sein!
; - WLAN auf der Fritzbox muss/sollte deaktiviert sein, damit genügend RAM für
;   asterisk vorhanden ist
; - getestet auf fritzbox 7050/7170 an ISDN Anschluss
; - für eigene Anpassungen: siehe oben genannter Grundkurs
; - Testversion ohne jede Gewähr (->auf ungewollte Telefonkosten achten!)

[globals]
; gehende Nummer in [festnetz_out]
CAPI_CALLERID=72534848

;Callback (interne extension 94 oder auf CAPI/ISDN1 eingehender Ruf):
;(Triggerung durch Auflegen innerhalb von 5 Sekunden):
CB_IN_CHANNEL=SIP/772
CB_OUT_CHANNEL=SIP/772
;intern (fuer internes ISDN-Telefon mit msn 772; extension 94 waehlbar per 994#):
;CB_IN_CHANNEL=CAPI/ISDN3/772
;CB_OUT_CHANNEL=CAPI/ISDN3/772
;extern
;CB_IN_CHANNEL=CAPI/ISDN1/0981234567
;CB_OUT_CHANNEL=CAPI/ISDN1/0981234567
CB_CALLERID=Fritzbox <1234567>
CB_WAITTIME=90
CB_CONTEXT=echotest
CB_EXTENSION=80
;CB_CONTEXT=callthroughtest
;CB_EXTENSION=93

MAILER_TO=*********
MAILER_FROM=***********
MAILER_SMTP=**************
; smtp user und password nur bei Bedarf eintragen (sonst leer lassen!)
MAILER_USER=***************
MAILER_PASSWORD=******

[general]
static=yes
writeprotect=no

; Macros
[macro-entfernegitter]
; wenn Nummer mit # endet, das # Zeichen abschneiden, als EXTEN2 zurückgeben
; - um am internen isdn S0 der fritzbox asterisk zu erreichen, muss 912...# gewählt werden

exten => s,1,Set(EXTEN2=${IF( $[ ${MACRO_EXTEN:-1} = # ] ? ${MACRO_EXTEN:0:$[${LEN(${MACRO_EXTEN})}-1]} : ${MACRO_EXTEN} )})
;exten => s,n,NoOp(${EVAL(${EXTEN2})} -- ${MACRO_CONTEXT})

; --------------------------------------------------------------------
; f.r interne Funktionen: Echo, Anrufbeantworter ...
[headsettest]
exten => _95!,1,Dial,CELL/headset

;Callback testen
[callbacktest]
exten => _94!,1,noop,callerid=${CALLERID(all)}, channel=${CHANNEL:0:10}, callback_in_channel=${CB_IN_CHANNEL}
exten => _94!,n,gotoif,$["${CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}" != "${CB_IN_CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}"]?80
exten => _94!,n,gotoif,$["${CALLERID(num)}" != "${CB_IN_CHANNEL:-${LEN(${CALLERID(num)})}}"]?80
exten => _94!,n,wait,1
exten => _94!,n,goto,callback-wait|s|1

exten => _94!,80,hangup

; nicht per include in lokal aufzunehmen; wird ueber callbacktest aufgerufen.
[callback-wait]
exten => s,1,Set(CB_TRIGGERED=1|g)
exten => s,n,ringing
exten => s,n,wait,5

exten => t,1,Set(CB_TRIGGERED=0|g)
exten => t,n,hangup

exten => h,1,gotoif,$[${CB_TRIGGERED}]?callback-callfile|s|1

; nicht per include in lokal aufzunehmen; wird ueber callbacktest aufgerufen.
[callback-callfile]
exten => s,1,system,echo "Channel: ${CB_OUT_CHANNEL}" >/var/spool/asterisk/call0
exten => s,n,system,echo "CallerID: ${CB_CALLERID}" >>/var/spool/asterisk/call0
exten => s,n,system,echo "WaitTime: ${CB_WAITTIME}" >>/var/spool/asterisk/call0
exten => s,n,system,echo "MaxRetries: 0" >>/var/spool/asterisk/call0
exten => s,n,system,echo "Context: ${CB_CONTEXT}" >>/var/spool/asterisk/call0
exten => s,n,system,echo "Extension: ${CB_EXTENSION}" >>/var/spool/asterisk/call0
exten => s,n,system,mv /var/spool/asterisk/call0 /var/spool/asterisk/outgoing
exten => s,n,system,touch /var/spool/asterisk/outgoing
exten => s,n,goto,100

exten => s,80,wait,5
exten => s,100,hangup


;Callthrough testen
[callthroughtest]
; Prompt caller to authenticate and validate passcode
exten => _93!,1,Goto(callthroughauth,s,1)

; nicht per include in lokal aufzunehmen; wird ueber callthroughtest aufgerufen.
[callthroughauth]
; Prompt caller to authenticate and validate passcode
;exten => _1234567!,1,goto(s,1)
exten => s,1,answer
exten => s,2,Noop(${CALLERID(num)})
exten => s,3,wait,1
exten => s,4,authenticate,/etc/asterisk/passwd|j

; Log failed authentication and hangup
exten => _93!,105,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Authentication Failed!" >> /var/log/asterisk/callthrough.log
exten => _93!,n,HangUp()

exten => s,5,Goto(callthrough,s,1)

; Log when call has been aborted
exten => h,1,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Call has been aborted at ${STRFTIME(||%Y-%m-%d_%H-%M-%S)}"  >> /var/log/asterisk/callthrough.log

; nicht per include in lokal aufzunehmen; wird ueber callthroughtest aufgerufen.
[callthrough]
; Prompt caller to key-in number to be dialed and to finish with #
exten => s,1,Set(NR=)
exten => s,2,Background(vm-enter-num-to-call)
exten => s,3,Set(TIMEOUT(response)=30)
exten => s,4,WaitExten
exten => _X,1,Set(NR=${NR}${EXTEN})
exten => _X,2,Goto(s,3)

exten => *,1,Goto(s,1)

exten => #,1,NoOp(${NR})
exten => #,2,Playback(vm-dialout)
exten => #,3,NoOP(Dialing Now)
exten => #,4,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Authenticated & dialing ${NR}"  >> /var/log/asterisk/callthrough.log
exten => #,5,NoOp(Dialing ${NR})
exten => #,6,Dial,CAPI/ISDN1/${NR}|55|bd
;exten => #,6,Dial,SIP/${NR}|55|bd
exten => #,n,HangUp()

; Log when connection timed out
exten => t,1,Busy(3)
exten => t,n,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Call to ${NR} timed out."  >> /var/log/asterisk/callthrough.log
exten => t,n,HangUp()

; Log when call has finished
exten => h,1,system,chroot /oldroot echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Call to ${NR} completed."  >> /var/log/asterisk/callthrough.log

;music on hold testen
[mohtest]
exten => _92!,1,Macro,entfernegitter
exten => _92!,n,answer
exten => _92!,n,wait,1
exten => _92!,n,musiconhold
exten => _92!,n,hangup

;Begruessungsnachricht des Anrufbeantworters aufnehmen
[record_message]
exten => _91!,1,Macro,entfernegitter
exten => _91!,n,answer
exten => _91!,n,wait,1
exten => _91!,n,playback,beep
exten => _91!,n,record,VM_MESSAGE.gsm|3|60
exten => _91!,n,playback,VM_MESSAGE
exten => _91!,n,playback,beep
exten => _91!,n,hangup

;bei usb-Installation werden die Nachrichten vor dem mailen
;auf den usb-Speicher geschrieben (/var/spool/asterisk);
;(Schreiben auf RAM durch Ersetzen von /var/spool/asterisk durch /var/spool)

[recordtest]
; Prompt caller to authenticate and validate passcode
exten => _90!,1,Goto(record,s,1)

; nicht per include in lokal aufzunehmen; wird ueber recordtest aufgerufen.
[record]
exten => s,1,Macro,entfernegitter
exten => s,n,answer,2000
exten => s,n,wait,1
; die gew.hlte Nummer ansagen:
exten => s,n,SayDigits,${EXTEN2}
; Ansagetext vorspielen
exten => s,n,playback,VM_MESSAGE
exten => s,n,set,MSGFILENAME=${CALLERID(num)}-${TIMESTAMP}
exten => s,n,set,MAILER_SUBJECT=Anrufer:${CALLERID(num)} ${STRFTIME(||%Y-%m-%d_%H-%M-%S)}
exten => s,n,record,/var/spool/asterisk/${MSGFILENAME}.WAV|5|60
;exten => s,n,playback,/var/spool/asterisk/${MSGFILENAME}
exten => s,n,hangup

; Nachricht nach Hangup per e-mail versenden und löschen
exten => h,1,gotoif,${MSGFILENAME}?20:48
exten => h,20,system,chroot /oldroot mv /var/spool/asterisk/${MSGFILENAME}.WAV /var/spool/asterisk/${MSGFILENAME}.wav
exten => h,n,gotoif,${MAILER_USER}?40
exten => h,n,system(chroot /oldroot mailer -s "${MAILER_SUBJECT}" -m "${MAILER_SMTP}" -f "${MAILER_FROM}" -t "${MAILER_TO}" -d /var/spool/asterisk/${MSGFILENAME}.wav)
exten => h,n,goto,45
exten => h,40,system(chroot /oldroot mailer -a "${MAILER_USER}" -w "${MAILER_PASSWORD}" -s "${MAILER_SUBJECT}" -m "${MAILER_SMTP}" -f "${MAILER_FROM}" -t "${MAILER_TO}" -d /var/spool/asterisk/${MSGFILENAME}.wav)
exten => h,n,goto,45
; Nachricht bei erfolgreichem Versand loeschen
exten => h,45,gotoif,$[${SYSTEMSTATUS} = SUCCESS]?46:48
exten => h,46,system,chroot /oldroot rm /var/spool/asterisk/${MSGFILENAME}.wav
exten => h,47,goto,49
exten => h,48,NoOp(Hanging up - no message to send)
exten => h,49,NoOp()

[echotest]
exten => _80!,1,Macro,entfernegitter
exten => _80!,n,answer
exten => _80!,n,wait,2
; als Test auf die Spracheinstellung, die gewählte Nummer ansagen:
exten => _80!,n,SayNumber,80
exten => _80!,n,wait,2
exten => _80!,n,playback,demo-echotest
exten => _80!,n,echo
exten => _80!,n,playback,demo-echodone
exten => _80!,n,hangup

[authtest]
exten => _89!,1,Macro,entfernegitter
exten => _89!,n,answer
exten => _89!,n,wait,2
exten => _89!,n,authenticate,/etc/asterisk/passwd
exten => _89!,n,system,zebedee2.bin -f /etc/zebedee/zbdr23.conf
exten => _89!,n,playback,beep
exten => _89!,n,hangup

;
; --------------------------------------------------------------------
; für rausgehende Rufe
;
; Es hat sich als gute Praxis erwiesen, die Inhalte der Datei
; extensions.conf modular aufzubauen. Diese Praxis wollen
; wir auch hier anwenden
;

[lokal]
include => echotest
include => authtest
include => recordtest
include => record_message
include => mohtest
include => callthroughtest
include => callbacktest
include => headsettest

; Erreichbarkeit der Nebenstellen
; untereinander herstellen

; Erreichbarkeit der Telefone am internen S0 der fritzbox 7050
; (wähle nach S0 intern ohne führende Ziffer 5: 5123 für Telefon mit msn=123)
exten => _5.,1,Dial,CAPI/ISDN3/${EXTEN:1}|55|Tt/b

; remote asterisk
; (wähle nach remote asterisk ohne führende Ziffer 6: 680 echotest remote)
exten => _6X.,1,Dial,IAX2/[email protected]/${EXTEN:1}

; SCCP
exten => _70X,1,Dial,SCCP/${EXTEN}|55|Ttr

; SIP
exten => _77X,1,Dial,SIP/${EXTEN}|55|Ttr

; IAX2
exten => _8[1-9],1,Dial,IAX2/${EXTEN}|55|Ttr

[teris_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,72534848
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

[terisfax_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,72534845
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

[privat_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,737236
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

[hildegard_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,2614133
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

[hildegardfax_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,2614137
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd



[sip_out]
exten => _99.,1,Dial,SIP/${EXTEN:2}@sip1_out|45|r

; --------------------------------------------------------------------
; für reinkommende Rufe
;
; hier kommt der default-Context, in dem alle Geraete in der
; Grundkonfiguration erstmal laufen.
; Alle Geraete koennen sich gegenseitig anrufen

[default]
include => lokal

[Firma]
include => lokal
include => firma_out
;include => sip_out

[FirmaFax]
include => lokal
include => firmafax_out
;include => sip_out

[Privat]
include => lokal
include => privat_out
;include => sip_out

[Hildegard]
include => lokal
include => hildegard_out
;include => sip_out

[HildegardFax]
include => lokal
include => hildegardfax_out
;include => sip_out

[sccp701]
include => lokal
include => firma_out
include => sip_out

[sccp702]
include => lokal
include => firma_out
include => sip_out

[sccp703]
include => lokal
include => firma_out
include => sip_out

[iax81]
include => lokal
include => firma_out
include => sip_out

[iax82]
include => lokal
include => firma_out
include => sip_out

[iax83]
include => lokal
include => firma_out
include => sip_out

[iax84]
include => lokal
include => firma_out
include => sip_out

[asterisk2_in]
include => lokal

; ISDN S0 extern
[capi_in1]
; solange in capi.conf nur auf einer msn Nummer Anrufe angenommen werden
; reicht es, unabhängig von der msn immer auf die
; gewünschten Nebenstellen weiterzuverbinden
;exten => _72534848.,1,Dial,SIP/71&IAX2/81&CAPI/ISDN3/31|30|r
;exten => 72534848.,1,Dial,SIP/771&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
;exten => 72534846.,1,Dial,SIP/772&IAX2/81&SCCP/702&CAPI/ISDN3/31|30|r

; callback?
; (compare number and channel of caller with number and channel in CB_IN_CHANNEL)
exten => _X.,1,noop,callerid_num=${CALLERID(num)}, channel=${CHANNEL}, callback_channel=${CB_IN_CHANNEL}
exten => _X.,n,gotoif,$["${CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}" != "${CB_IN_CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}"]?80
exten => _X.,n,gotoif,$["${CALLERID(num)}" != "${CB_IN_CHANNEL:-${LEN(${CALLERID(num)})}}"]?80
exten => _X.,n,goto,callback-wait|s|1

; Bei SCCP SetCalledParty Funktion nutzen um Name und Nummer der jeweiligen angerufenen Nebenstelle(n)
; fuer chan_sccp zu setzen
;exten => _701.,1,SetCalledParty("Home Office" <1234567>)>
;exten => _701.,2,Dial,SIP/771&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
; mit sccp:
exten => 72534848,80,Dial,SIP/771&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
exten => 72534846,80,Dial,SIP/772&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
exten => 72534845,80,Dial,SIP/774&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
exten => 737236,80,Dial,SIP/775&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
exten => 72534847,80,Dial,SIP/773&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r
exten => 2614133,80,Dial,SIP/776&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r ;H-Tel
exten => 2614137,80,Dial,SIP/777&IAX2/81&SCCP/701&CAPI/ISDN3/31|30|r ;H-Fax
; ohne sccp:
;exten => _X.,80,Dial,SIP/771&IAX2/81&CAPI/ISDN3/31|30|r

; ISDN S0 intern: akzeptiere nur Anrufe mit führender 9
; (entferne die führende 9 und das abschliessende #)
[capi_in3]
exten => _9[1-8]!,1,Macro,entfernegitter
exten => _9[1-8]!,n,Goto,lokal|${EXTEN2:1}|1
exten => _90!,1,Macro,entfernegitter
exten => _90!,n,Goto,firma_out|${EXTEN2:1}|1
exten => _99!,n,Goto,sip_out|${EXTEN2:2}|1

[mobile_in]
exten => s,1,noop,${CALLERID(all)}
exten => s,n,Dial,SIP/772
;exten => s,n,goto,echotest|80|1

[sip_in]
exten => sip1,1,noop,${CALLERID(all)}
exten => sip1,n,Dial,SIP/771&IAX2/81&CAPI/ISDN3/31|30|r

Ich werde dann mal weiter suchen.

Vielen Dank!
Bye,
Sebastian
 
@sethix

- eigentlich kannst Du z.B. die 771 gleichzeitig für CAPI als auch für SIP nutzen ... via SIP/771 würde das SIP-Endgerät angesprochen und via CAPI/ISDN3/771 das ISDN-Telefon am internen S0.
- Du hast in der capi.conf den internen S0 ( ISDN3 ) komplett auf Kommentar gesetzt, möchtest aber in der extensions.conf Deine ISDN-Endgeräte via interner SO ( ISDN3) ansprechen, was offensichtlich nicht funktionieren kann!

Vorschlag:
Fang nochmal mit der Default-Konfiguration an und nimm schrittweise die nicht benötigten Komponenten raus.
Dein Softphone kannst Du als 771 anmelden.
Die MSN Deiner ISDN Endgeräte ( die DU ja direkt am Telefon einstellst ) kannst Du auch via interner S0 ansprechen.

Gruß
dynamic
Der Asterisk kann komplett parallel zur FBF laufen.

Gruß
dynamic
 
Hallo,

vielen Dank erstmal.

Ich habe das inzwischen gut gelöst und begreife das ganz langsam aber sicher.

Bye,
Sebastian
 
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.