[Problem] Asterisk-Neuling mit Unistim-Endgeräten

nilsman

Neuer User
Mitglied seit
9 Mai 2017
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo liebe Gemeinde,

ich wende mich an euch weil mich tagelanges Googeln und ausprobieren nicht mehr weiter gebracht haben.

Ich habe mittlerweile mehrere Asterisk-Distributionen ausprobiert und bin mit AstLinux -1.2.9 i686 - auf Asterisk 11.25.1 hängen geblieben, da ich hierbei bereits am weitesten gekommen bin. Immerhin konnte ich die Telekom als SIP registieren und diese werden mir auch als online angezeigt.

Als Engeräte möchte ich zwei Nortel 2002 - Telefone einbinden. (Unistim = böse, ich weiss.... ). Ich kann mein Testtelefon mittlerweile auch erfolgreich am Server anmelden, kann aber keine Nummer wählen. Mein Log zeigt mir dann immer foldenges an:
Code:
May  9 22:15:36 pbx local0.warn asterisk[2974]: WARNING[3109][C-00000001]: pbx.c:6863 in __ast_pbx_run: Channel 'USTM/780@780-0x41a022a0' sent to invalid extension but no invalid handler: context,exten,priority=default,00831522XXX,1
Die gewählte Nummer habe ich mit X verfremdet.

Ich hab das Gefühl in meinen zusammenkopierten conf-Dateien irgend ein bestimmtes Detail zu übersehen, denn immerhin kommunizieren Asterisk via Unistim mit meinem Endgerät, und der SIP-Peer ist bei der Telekom angemeldet.

Ich erlaube mir mal meine conf-Dateien hier zu posten, vielleicht mag mir hier jemand den entscheidenden Tip geben.

sip.conf:
Code:
[general]
context=default_1
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
language=de
rtpkeepalive=5
allowsubscribe=yes
notifyringing=yes
notifyhold=yes
limitonpeers=yes
allowguest=no
maxexpirey=3600
defaultexpirey=3600
dtmfmode=inband
;externhost=test.dyndns.org
localnet=192.168.1.1/255.255.255.0

register => 0837692XXXXX:298XXXXX:[email protected]@tel.t-online.de/0837692XXXXX

[DTAG-IP]
[email protected]
[email protected]
secret=298XXXXX
host=tel.t-online.de
fromdomain=tel.t-online.de
qualify=yes
trustrpid=no
context=tkom-in
type=friend
insecure=invite
usereqphone=no
t38pt_udptl=no
nat=force_rport
disallow=all
allow=ulaw
allow=alaw
dtmfmode=inband
call-limit=10

[DTAG-IN]
qualify=yes
trustrpid=no
context=tkom-in
type=peer
insecure=port,invite
usereqphone=no
t38pt_udptl=no
nat=force_rport
disallow=all
allow=ulaw
allow=alaw
dtmfmode=inband
fromdomain=tel.t-online.de
host=tel.t-online.de
disallow=all
allow=ulaw
call-limit=10

Ich weiss, ist viel drin dass keiner braucht. Vielleicht kann mir jemand helfen, die sinnvoll einzukürzen. :(

extensions.conf:
Code:
[tkom-in]
exten => 0837692xxxxx,1,answer
exten => 0837692xxxxx,n,Dial(USTM/780@violet/r1)
exten => 0837692xxxxx,n,hangup

[tkom_out_eigen]

exten => _0.,1,Set(CALLERID(num)=0837692xxxxx)
exten => _0.,n,Set(CALLERID(name)=0837692xxxxx)
exten => _0.,n,Dial(USTM/780@violet)
exten => _0.,n,Hangup()

Entwas kürzer, und ich glaube hier liegt der Fehler.... aber ich komm nicht drauf.... :confused:

Und zu guter Letzt, die unistim.conf:

Code:
[general]
port=5000
;autoprovivsioning=no
bookmark=Support@123
country=de 
qualify=yes

[780]
device=0019e1e5bb31 ; MAC-Addresse des Telefons
qualify=yes
country=de
language=de
line=>780
extension=line
timeformat=2
callerid=<0837692xxxxx>
;bookmark=mbox11111@411111@54 ;@54 zeigt Briefumschlag im Display

[violet]

device=0019e1e5bb31 ; MAC-Addresse des Telefons
line=> 780
Ich glaube, dass hier soweit alles passt. Immerhin bekomm ich das Telefon am Server angemeldet. :)

Ich würde mich wirklich sehr über eure Hilfe freuen!

EDIT:
Ich habe die Codes etwas eingekürzt auf freundlichen Hinweis hin von carpe:diem. ICh habe die conf.-Dateien auch aktualisiert, da ich mittlerweile einen Teilerfolg verzeichnen konnte: Ich kann rein telefonieren, höre aber keinen Ton. Raustelefonieren bleibt beim Alten.
 
Zuletzt bearbeitet:
Kann dir zwar beim Problem nicht weiterhelfen aber du könntest alle Zeilen die auskommentiert sind - beginnend mit ; - löschen. Wäre übersichtlicher und man scrollt sich auf dem Handy nicht zu Tode
 
erledigt....

Vielen Dank für den Hinweis!
 
Dir fehlt context=tkom_out_eigen in der unistim.conf, damit der Dialplan überhaupt angesprungen wird, wenn das Telefon versucht zu wählen.

directmedia=no in der sip.conf könnte gegen das Tonproblem helfen. Bist Du hinter einem NAT?
 
Hallo rentier-s,

vielen Dank für Deine Antwort!

Meine Extensions habe ich gestern noch bis in die Nacht ünerarbeitet und bin mittlerweile in der Lage Gespräche anzunehmen und nach draußen zu telefonieren. Ein intensive Suche hier im Forum zog eine grundlegende Überarbeitung meiner sip.conf, extensions.conf, indications.conf und der heissgeliebten unistim.conf nach sich.

Damit vielleicht auch andere davon profitieren können, erlaube ich mir diese Dateien hier mal im Code darzustellen:

extensions.conf:

Code:
[ankommend]
exten => 0837692xxxxx,1,answer
exten => 0837692xxxxx,n,Dial(USTM/780@violet/r1)
exten => 0837692xxxxx,n,hangup

[default]
exten => _0.,1,Set(CALLERID(num)=0837692xxxxx)
exten => _0.,n,Set(CALLERID(name)=0837692xxxxx)
exten => _0.,n,Dial(SIP/${EXTEN}@DTAG-IP,30,tr)
exten => _0.,n,Hangup()

; National Vorwahl beginnend mit +  
exten => _+49X.,1,Set(CALLERID(num)=0837692xxxxx)
exten => _+49X.,n,Set(CALLERID(name)=0837692xxxxx)
exten => _+49X.,n,Dial(SIP/0${EXTEN:3}@DTAG-IP,30,tr)
exten => _+49X.,n,Hangup()

; Internationale Vorwahl mit beginnend mit +
exten => _+X.,1,Set(CALLERID(num)=0837692xxxxx)
exten => _+X.,n,Set(CALLERID(name)=0837692xxxxx)
exten => _+X.,n,Dial(SIP/00${EXTEN:2}@DTAG-IP,30,tr)
exten => _+X.,n,Hangup()

; die beiden nächsten hier - keine Ahnung ob die überhaupt was machen aber es funzt
exten => _0[1-9].,n,Dial(SIP/${EXTEN}@DTAG-IP,60,tr)
exten => _00.,n,Dial(SIP/${EXTEN}@DTAG-IP,60,tr)

sip.conf:

Code:
[general]
port=5060
bindaddr=0.0.0.0
language=de
canreinvite=no
srvlookup=yes
allowguest=yes
allowsubscribe=yes
defaultexpirey=240
maxexpirey=600
context=default
localnet=192.168.1.1/255.255.255.0

register => 0837692xxxxx:298xxxxx:[email protected]@tel.t-online.de/0837692xxxxx

[external-standard](!)
trustrpid=no
context=ankommend
type=peer
insecure=port,invite
usereqphone=no
t38pt_udptl=no
nat=yes
disallow=all
allow = ulaw
allow = alaw
allow = gsm
dtmfmode=rfc2833

[DTAG-IP](external-standard)
[email protected]
[email protected]
secret=298xxxxx
host=tel.t-online.de
fromdomain=tel.t-online.de
qualify=yes

[DTAG-IN](external-standard)
qualify=yes
trustrpid=no
type=peer
insecure=port,invite
usereqphone=no
t38pt_udptl=no
nat=force_rport
disallow=all
allow=ulaw
allow=alaw
allow=gsm
dtmfmode=rfc2833
fromdomain=tel.t-online.de
host=tel.t-online.de
call-limit=10

unistim.conf:

Code:
[general]
port=5000
;autoprovivsioning=no
bookmark=Support@123
country=de
rtp_port=10000              ; RTP port used by the phone, default = 10000. RTCP = rtp_port+1
rtp_method=0                ; If you don't have sound, you can try 1, 2 or 3, default = 0
status_method=1             ; If you don't see status text, try 1, default = 0

[780]
device=0019e1e5bb31 ; MAC-Addresse des Telefons
country=de
language=de
extension=line
line=>780
timeformat=2
callerid=<0837692xxxxx>
;bookmark=mbox11111@411111@54 ;@54 zeigt Briefumschlag im Display

[violet]

device=0019e1e5bb31 ; MAC-Addresse des Telefons
line=> 780

In der indications.conf muss eigentlich nur der Präfix von country=us auf country=de geändert werden. Den Code hierfür erspare ich uns allen.

Ob ich hinter einer NAT bin? Eigentlich nicht. Ich habe einen Annex-J-Router an meiner Telekom-Leitung, daran hängt ein Windows-PC auf dem eine VirtualBox mit AstLinux läuft. Die Netzwerkvirtualisierung habe ich als Netzwerkbrücke konfiguriert, damit ich eine feste IP in meinem gewünschten Adressbereich vergeben kann und meine Endgeräte direkt den Asterisk-Server ansprechen können. Soweit funktioniert das auch.

directmedia=no werde ich heute abend mal ausprobieren. Sollte das gleich am Anfang unter [general] stehen?

- - - Aktualisiert - - -

directmedia=no ergab leider keine Abhilfe.
 
[default]
exten => _0.,n,Dial(SIP/${EXTEN}@DTAG-IP,30,tr)
...

sip.conf:
allowguest=yes

Schalte Deinen Asterisk bitte sofort ab, Du hast das größte Sicherheitsloch produziert, das man mit Asterisk produzieren kann!

Ob ich hinter einer NAT bin? Eigentlich nicht. Ich habe einen Annex-J-Router an meiner Telekom-Leitung, daran hängt ein Windows-PC auf dem eine VirtualBox mit AstLinux läuft.

Macht der PC bzw. die VM eine direkte PPPoE Einwahl? Ansonsten arbeitet Dein Router sehr wahrscheinlich als NAT. Somit brauchst Du externhost oder externip, damit Asterisk seine WAN Adresse kennt.
 
Hallo rentier-s,

danke für Deine Antwort.

allowguest=no habe ich sofort gesetzt....

Welches Sicherheitsproblem habe ich in der Extension?

In meiner sip.conf habe ich mich ja auf den Host der Telekom (tel.t-online.de) bezogen.... Mein Asterisk bezieht ein fixe Adresse 192.168.1.66 im heimische DHCP... im WAN habe ich naturgemäß eine dynamische. Um Deine Frage zu beantworten: nein. Weder der Asterisk noch die VM machen eine direkte PPPoE-Einwahl. Meine VM habe ich mit einer Netzwerkbrücke konfiguriert, damit ich im selben Adressbereich wie alle anderen Geräte arbeiten kann.

Ich denke auch nicht, dass das Problem IP-bezogen ist... sonst könnte ich ja keinen Call plazieren. Ich bin mittlerweile der Ansicht ein RTP-Problem zu haben, da ich gestern abend mit einem Softphone i2050 einen Call mit Audio durchführen konnte.
 
Zuletzt bearbeitet:
allowguest=no macht die Sache deutlich besser, abgehende Regeln gehören grundsätzlich in einen eigenen Context, der den Usern in der conf zugewiesen wird.

Du bist also hinter einer NAT, folglich externip/externhost und localnet setzen, damit Asterisk die WAN Adresse in den SIP Paketen angeben kann.

Ähnliches gilt für den bindport 5060. Asterisk verwendet den mangels besseren Wissens gegenüber dem Provider. Wenn dieser die Antwort an 5060 schickt, lauscht dort statt Asterisk aber die Fritzbox. Entweder musst Du den bindport in Asterisk ändern, oder den SIP Port der Fritzbox, und dann ein Portforwarding einrichten. Nur dann kann es imho zuverlässig funktionieren.
 
localnet ist gesetzt mit 192.168.1.1/255.255.255.0
externhost wäre dann tel.t-online.de, oder?
 
Fast :D

localnet = 192.168.1.0/255.255.255.0
...würde auf alle deine Server/Klienten/Rechner/Geräte von .1 bis .254 treffen.
 
Zuletzt bearbeitet:
Naja, so viele sind's dann doch nicht auf 50 qm :eek:....

Ich verstehe nur nicht warum 192.168.1.0, mein Gateway ist doch auf .1 .

Möglicherweise habe ich einen Knoten in meiner Denkweise, aber das Gateway stellt doch immer die erste Adresse im DHCP-Adressbereich, oder nicht?
 
Naja, bin jetzt nicht so der Netzwerkprofi, aber ich versuchs mal...

Netze werden (localnet kann mehrfach definiert werden) über die .0 definiert, und nicht durch einen einzelnen Rechner oder Server, der durch eine statische IP repräsentiert wird.

Code:
localnet=192.168.0.0/255.255.0.0
localnet=10.0.0.0/255.0.0.0
localnet=172.16.0.0/12
localnet=169.254.0.0/255.255.0.0
Quelle: http://das-asterisk-buch.de/1.6/sip.html
 
Zuletzt bearbeitet:
Danke für deine Antwort!

Hab ich jetzt mal so angepasst übernommen.

Ich habe aber immer mehr das Gefühl, dass irgendwas mit den Hardware-Telefonen nicht passt. Denn: das Avaya Softphone mit UNISTIM läuft einwandfrei. Mit Audio und allem. Die beiden i2002 sind nicht auf dem letzten Firmwarestand und eine neue Firmware bekomme ich nicht drauf, weil mir dafür der Signalling Server fehlt. Schade um die Arbeit die ich in diese UNISTIM-Geschichte investiert habe. Wie gesagt, es fehlt nur noch das Audio. Und ich habe das Gefühl, dass da was mit den RTP-Geschichten nicht hinhaut. Mal sehen, ich bin grad an nem Siemens OpenStage 40 HFA dran, dafür gibt's wenigstens ne SIP-fähige Firmware.
 
Da ich die Vorgehensweisen des neuen Forum-Betreibers nicht gut heiße, stehen meine Beiträge hier nicht weiter zur Verfügung.
 
Zuletzt bearbeitet von einem Moderator:
Hallo rentier-s!

Vielen Dank für Deine ausführliche Antwort und für Dein Engagement!

Ich habe mir jetzt mal in der Mittagspause das Kapitel im Asterisk-Buch durchgelesen. In der Tat scheint das bei mir nicht sauber durchkonfiguriert sein.
Das würde ja aber auch in Umkehrschluss heißen, dass Asterisk-User grundsätzlich über einen DynDNS-Account verfügen müssen, damit sie ihre PBX sauber konfigurieren können, inklusive einer DMZ. Sehe ich das richtig?

Viele Grüße

Nils.
 
Zuletzt bearbeitet:
Da ich die Vorgehensweisen des neuen Forum-Betreibers nicht gut heiße, stehen meine Beiträge hier nicht weiter zur Verfügung.
 
Zuletzt bearbeitet von einem Moderator:
Hallo rentier-s,

vielen Dank für Deine Antwort. Mit einer DMZ würde ich mich auch nicht wirklich so wohl fühlen.

Wenn ich nämlich meinen Router (TP-Link TD-W8970B(DE) )mit einer DMZ für meine PBX konfiguriere passieren merkwürdige Dinge:

sip-attack.JPG

Die IP ist übrigens meine eigene WAN-IP.... sehr mehrwürdig.

Ich habe mich dann für eine DynDNS entschieden und habe dann

Code:
localhost=xxxxxxx.ddns.net

gesetzt.

Auf den Hinweis:

Code:
May 22 08:28:26 pbx local0.warn asterisk[394]: WARNING[461]: sip/config_parser.c:819 in sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead

habe ich dann
Code:
nat=force_rport,comedia

gesetzt.

Ausprobieren kann ich es natürlich erst heute abend, aber ich werde berichten....

Viele Grüße

Nils

- - - Aktualisiert - - -

Kleines Update:

ich habe meine DDNS in der NEtwork-Config meiner PBX eingetragen...

astlinux ddns.JPG

Nun meldet mir das Syslog:

Code:
May 22 16:12:49 pbx daemon.notice ddclient[448]: WARNING:  updating xxxxxxx.ddns.net: nochg: No update required; unnecessary attempts to change to the current address are considered abusive
May 22 16:12:51 pbx daemon.info chronyd[345]: Selected source 213.136.0.252

Die selected Source entspricht weder meiner WAN-IP, dem Host tel.t-online.de, noch meiner DDNS-IP (die sich nicht pingen lässt...)

Muss das so?:p
 
Zuletzt bearbeitet:
Die erste Meldung (siehe Datum) ist DynDNS, "nochg" bedeutet: Noch gültig
...kein Update notwendig.

Die zweite Meldung stammt von "chronyd" und bestätigt eine Zeitsynchronisierung mit angegebenen (Selected source) Zeitserver.
 
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.