[Problem] Umstellung von Asterisk 1.6.. auf 16.2.1

Manne44

Neuer User
Mitglied seit
30 Mai 2014
Beiträge
59
Punkte für Reaktionen
1
Punkte
8
Hallo, ich weiß mir jetzt nicht mehr zu helfen und frage Euch deshalb um Rat.

Und zwar habe ich in 2017 für eine Klingelsignalisierung in einer rd. 100 m entfernter Torsäule eine Grandstream-Kamera eingebaut, die ein Mikrofon und Lautsprecher eingebaut hat und auch SIP beherrscht. Auf einem Minicomputer Banana Pi hatte ich Asterisk 1.6.2.24 installiert und nach anfänglichen Problemen auch alles zum Laufen gebracht. Beim Druck auf den Klingelknopf wird ein Pin des PI aktiviert, der dann eine Datei nach /var/spool/asterisk/outgoing kopiert und alle Telefone sollen dann angerufen werden, aber nur dann, wenn ich auch zu Hause bin, was in der extension.conf auch auf das Vorhandensein einer Datei geprüft wird. Entsprechde Texte werden je nach Fall auch angesagt. Alles Prima, Bild wurde auf den Fritz-Fon 4 auch angezeigt, Toröffnung war auch möglich, also ich war restlos zufrieden.

Mittlerweile bin ich auf einen Raspberry Pi 4B+ mit Buster umgezogen, habe Asterisk 16.2.1 mit „apt install“ installiert. Eine Installation mit einer älteren Version 1.6.2.24, die kompiliert werden muss scheiterte wegen aufgetretener Compilerfehler, die ich mangels Kenntnisse nicht beseitigen konnte.

Ebenso hatte ich den Telefonanbieter gewechselt und habe ein Restart der Fritzbox 7490 gemacht ohne den aktuellen Zustand zu sichern, was ein schwerer Fehler war, aber ist nun mal so.

Ich habe meine alten Conf-Dateien in Asterisk kopiert, aber es gelingt mir nicht, dass irgendein Telefon angerufen wird. Es erfolgt zwar ein Anruf, aber kein Klingeln der Telefone. Folgende Ausgaben kommen von Asterisk:

Code:
Connected to Asterisk 16.2.1~dfsg-1+deb10u1 currently running on mao (pid = 9239)
-- Attempting call on SIP/30 for s@doorcall:1 (Retry 1)
== Using SIP VIDEO CoS mark 6
== Using SIP RTP CoS mark 5
-- Called 30
-- SIP/30-00000000 is ringing
-- SIP/30-00000000 answered
-- Executing [s@doorcall:1] NoOp("SIP/30-00000000", "DoorStation ruft alle anderen an") in new stack
-- Executing [s@doorcall:2] Set("SIP/30-00000000", "result=1") in new stack
-- Executing [s@doorcall:3] NoOp("SIP/30-00000000", "result is 1") in new stack
-- Executing [s@doorcall:4] GotoIf("SIP/30-00000000", "1?home:away") in new stack
-- Goto (doorcall,s,5)
-- Executing [s@doorcall:5] NoOp("SIP/30-00000000", "result is home}") in new stack
-- Executing [s@doorcall:6] Playback("SIP/30-00000000", "_pstart") in new stack
-- <SIP/30-00000000> Playing '_pstart.slin' (language 'de')
-- Executing [s@doorcall:7] Dial("SIP/30-00000000", "SIP/1234:pWD@doorphone,60,Ttm/b") in new stack
== Using SIP VIDEO CoS mark 6
== Using SIP RTP CoS mark 5
-- Called SIP/1234:pWD@doorphone
-- Started music on hold, class 'default', on channel 'SIP/30-00000000'
-- SIP/doorphone-00000001 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Stopped music on hold on SIP/30-00000000
-- Executing [s@doorcall:8] Playback("SIP/30-00000000", "_pend") in new stack
[Apr 20 12:52:28] WARNING[9301]: chan_sip.c:4119 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
-- <SIP/30-00000000> Playing '_pend.slin' (language 'de')
-- Executing [s@doorcall:9] Hangup("SIP/30-00000000", "") in new stack
== Spawn extension (doorcall, s, 9) exited non-zero on 'SIP/30-00000000'

Meine Klingeltaste in der Fritzbox hat die Rufnummer 1234 und Passwort PWD.
Hier die sip.conf:

Code:
[general]
language=de
tonezone=de
port=5060
bindport=5060
bindaddr=0.0.0.0
qualify=no
disable=all
allow=g722
allow=alaw
allow=ulaw
dtmfmode=rfc2833
srvlookup=yes
directmedia=no
nat = auto_force_rport,auto_comedia

;DoorStation 192.168.178.65
;Grandstream GXV3615
[30]
callerid=DoorStation<30>
permit=192.168.178.0/255.255.255.0
domain=192.168.178.40
secret=strengGeheim
type=friend
context=internal
host=dynamic
videosupport=yes
allow=H264

;Dummy
[1234]
callerid=Dummy<1234>
secret=geheim
type=friend
context=doorcall

; Fritzbox
[doorphone]
callerid=DoorPhone<doorphone>
defaultuser=doorphone
fromuser=doorphone
context=internal
call-limit=15
type=friend
insecure=invite
nat=force_rport,comedia
fromdomain=fritz.box
secret=superGeheim
host=192.168.178.1
canreinvite=yes
directmedia = no
dtmfmode=rfc2833
allow=!all,g722,alaw,ulaw
videosupport=yes
allow=H264

Und nun die extensions.conf:

Code:
[globals]

[general]
static=yes
writeprotect=no

[opendoor]
exten => xxxx,1,Answer()
exten => xxxx,n,Wait(1)
exten => xxxx,n,System(sh /opt/fhem/vdp/opendoor.sh)
exten => xxxx,n,Hangup()

[doorcall]
; Alle Telefone von Telefon 20 anrufen
; Prüfen ob die Datei /opt/fhem/car_present vorhanden ist oder nicht
; --------------------------------------------------
exten => s,1,NoOp(DoorStation ruft alle anderen an)
exten => s,n,Set(result=${SHELL(test -f /opt/fhem/vdp/athome && echo -n 1 || echo -n 0)})
exten => s,n,NoOp(result is ${result})
; --------------------------------------------------
exten => s,n,GotoIf($[ ${result} = 1 ]?home:away)
; --------------------------------------------------
exten => s,n(home),NoOp(result is home});
exten => s,n,Playback(_pstart)
exten => s,n,Dial(SIP/1234:pwd@doorphone,60,Ttm/b)
exten => s,n,Playback(_pend)
exten => s,n,Hangup()
; --------------------------------------------------
exten => s,n(away),NoOp(result is away})
exten => s,n,Playback(_pabsent)
exten => s,n,Hangup()

[internal]
include => opendoor
include => doorcall

Ich habe das alles in epischer Breite ausführlich dargestellt und hoffe, dass mir jemand helfen kann, der sich besser damit auskennt.
Vielleicht habe ich in der Fritzbox noch war vergessen? Denn das war ja alle infolge meines Verschuldens weg.
Folgende Einträge hat meine Fritzbox 7490 u.a.:
Code:
Name               Anschluss   ausgehend   ankommend     intern
Fritz-Fon-C4 1     DECT           xxxxx           alle                   **610
Fritz-Fon-C4 2     DECT           xxxxx           alle                   **611
Fritz-Fon-C5 1     DECT           xxxxx           yyyyy                **612
Gartentor             LAN/WLAN  -                                            **620

Vielen Dank im Voraus.
 
Zuletzt bearbeitet:
Moisen


Dann bearbeite deinen Post und hau erstmal Log, sip-, und extensions.conf in...
[code]# Schwer leserlicher Spaghettitext und mit ohne Smilies :) :cool:[/code]
Code:
# Schwer leserlicher Spaghettitext und mit ohne Smilies :) :cool:
Vorschau
...solche Code Tags rein ;)
 
Danke, viel Besser :cool:

Als Erstes fällt mir der Dial() String komisch auf.
Dein Peer [doorphone] für die FRITZ!Box authorisiert sich doch schon, bei Verbindungsaufbau Richtung FRITZ!Box.
Außerdem übergibst du da keine gültige Nummer.

Beispiel
Ick möchte über [doorphone] einen Rundruf absetzen, dabei Musik hören und den Call mit Wahl einer einziffrigen Extension abbrechen können...
Code:
exten => s,n,Dial(SIP/**9@doorphone,60,md)
 
Hallo @koyaanisqatsi, da tut sich nichts anderes wenn ich den Wahlstring ändere. Kein Rundruf.

Code:
Connected to Asterisk 16.2.1~dfsg-1+deb10u1 currently running on mao (pid = 22933)
    -- Attempting call on SIP/30 for s@doorcall:1 (Retry 1)
  == Using SIP VIDEO CoS mark 6
  == Using SIP RTP CoS mark 5
    -- Called 30
    -- SIP/30-00000000 is ringing
    -- SIP/30-00000000 answered
    -- Executing [s@doorcall:1] NoOp("SIP/30-00000000", "DoorStation ruft alle anderen an") in new stack
    -- Executing [s@doorcall:2] Set("SIP/30-00000000", "result=1") in new stack
    -- Executing [s@doorcall:3] NoOp("SIP/30-00000000", "result is 1") in new stack
    -- Executing [s@doorcall:4] GotoIf("SIP/30-00000000", "1?home:away") in new stack
    -- Goto (doorcall,s,5)
    -- Executing [s@doorcall:5] NoOp("SIP/30-00000000", "result is home}") in new stack
    -- Executing [s@doorcall:6] Playback("SIP/30-00000000", "_pstart") in new stack
    -- <SIP/30-00000000> Playing '_pstart.slin' (language 'de')
    -- Executing [s@doorcall:7] Dial("SIP/30-00000000", "SIP/**9@doorphone,60,md") in new stack
  == Using SIP VIDEO CoS mark 6
  == Using SIP RTP CoS mark 5
    -- Called SIP/**9@doorphone
    -- Started music on hold, class 'default', on channel 'SIP/30-00000000'
    -- SIP/doorphone-00000001 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Stopped music on hold on SIP/30-00000000
    -- Executing [s@doorcall:8] Playback("SIP/30-00000000", "_pend") in new stack
[Apr 20 15:23:13] WARNING[22994]: chan_sip.c:4119 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
    -- <SIP/30-00000000> Playing '_pend.slin' (language 'de')

Die Datei für ..outgoing:

Code:
Channel: SIP/30
Callerid: 30
MaxRetries: 1        ; Anzahl der Waehlversuche fall besetzt oder nicht erreichbar
RetryTime: 1            ; Wartezeit bis zum naechsten Waehlversuch
WaitTime: 60            ; Wartezeit bis zur Rufannahme 
Context: doorcall    ; Context in extensions.conf
Extension: s            ; Extension in extensions.conf
 
Dann sind eventuell die Accountdaten in [doorphone] nicht die des angelegten IP-Telefons in der FRITZ!Box?
Genaueres in der *-Konsole mit: sip set debug on
Genaueres in den erweiterten FRITZ!Box Supportdaten...
http://fritz.box/support.lua
...Texdatei, suche nach: CSeq: INVITE
Eventuell auch im Ereignislog?
Ist eventuell Nichts am IP-Telefon registriert?
...dann registriere wenigstens die FRITZ!APP Fon über Smartfon/Tablet zum Testen daran an.
 
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.