Asterisk Login-Probleme

AsteriskUndObelisk

Neuer User
Mitglied seit
19 Apr 2005
Beiträge
169
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen!

ich bin nicht nur neu hier im forum, sondern auch neuling was 1. linux und 2. asterisk im allgemeinen angeht :oops: . ich glaube ich hab mittlerweile zuviel in irgendwelchen handbooks und blogs und foren gelesen und krieg nun garnichts mehr zustande weil ich völlig verwirrt bin! :roll:

folgendes:

ich habe hier den Asterisk auf einem debian linux laufen. auf zwei windows PCs habe ich Sipgates X-Lite installiert und versuche diese Softphones mit Asterisk zusammen zum funktionieren zu bekommen. Als ersten Schritt hatte ich mir vorgenommen es so weit hinzubekommen, dass ich zwischen PC1 (user 1234) und PC2 (user 5678) intern im LAN telefonieren kann. Und scheinbar selbst dazu bin ich zu blöd :oops: :roll: :( !

* asterisk läuft auf 10.19.10.44 , PC1 10.19.10.9 , PC2 10.19.10.100 , DNS 10.19.10.2
* SIP Port 5060 , RTP Port 8000 (so war es per default)
* PC1 hat die extension 1234 , PC2 die extension 5678

ich bekomme das irgendwie nicht bebacken, dass das zusammen funktioniert ... warum auch immer :-(. ich hoffe ich bekomme hier ne antwort? bin mir sicher, dass ich nur irgendwo gewaltig aufm schlauch steh :roll:

hier mal meine sip.conf

[general]
port = 5060
bindaddr = 0.0.0.0
localnet = 10.19.10.0
localmask = 255.255.255.0
context = sipgate
qualify = no
disable = all
allow = alaw
allow = ulaw
allow = g729
allow = gsm
canreinvite = no
insecure = very
language = de
register => 1234567:[email protected]/1234567

[sipgate]
type = friend
username = 1234567
secret = abcdefg
host = sipgate.de
context = default
canreinvite = no
qualify = yes
insecure = very

[1234]
type = friend
username = 1234
secret = mypassword
host = 10.19.10.9
context = sipgate
disable = all
allow = alaw
allow = ulaw
allow = g729

[5678]
type = friend
username = 5678
secret = mypassword
host = 10.19.10.100
context = sipgate
disable = all
allow = alaw
allow = ulaw

später soll das ganze dann über meinen sipgate-account auch nach draussen gehen können, klar! Deswegen steht das auch bereits in der sip.conf. Was evtl noch zu erwähnen ist, die sip.conf existierte nach der installation von Asterisk nicht ... habe ich dann per touch erstellt und eben obigen inhalt reingefummelt :wink:

was gibts an der sip.conf auszusetzen? bitte um konstruktive kritik!

und das hier ist meine extensions.conf
[1234]
exten => 1234,1,Dial(SIP/${EXTEN},30)
exten => 1234,2,Congestion
exten => 1234,3,Hangup
reicht das? :oops: ich habe alles andere was da per default drin stand (nach einer sicherungskopie ;-) ) auskommentiert. Der PC2 (5678) ist in der extension.conf auch noch nicht mit aufgeführt, weil sich noch nichtmal das softphone auf PC1 bei asterisk einloggen kann/will :-( !

Einstellungen in X-Lite sind folgende

System Settings/Network:
Auto Detect IP: YES
Listen on IP: - (muss hier eine IP eingetragen werden? welche? localhost oder asterisk IP?)
Listen SIP Port: 5060
Listen RTP Port: 8000
Outbound SIP Proxy: 10.19.10.44 (Asterisk Server IP)
Primary DNS Server: 10.19.10.2

System Settings/SIP Proxy/Default 10.19.10.44
Username: 1234
Authorization user: 1234
Password: mypassword
Domain/Realm: 10.19.10.44 (Asterisk Server IP)
SIP Proxy: 10.19.10.44 (Asterisk Server IP)
Outbound Proxy: 10.19.10.44 (Asterisk Server IP)
Send internal IP: Always
Register: Default


kann mir jemand helfen? wo liegt denn der Hund begraben? :-(

ich scheine gewaltig auf dem schlauch zu stehn :oops: :cry:

vielen dank schonmal für eure hilfe!

gruss

A&O
 
Versuchs mal mit einem ClassC-Netz, da können bis zu 254 Rechner drinnen sein. Sollte doch reichen, oder?
 
@ploieel
da können noch mehr, nämlich 255*254 IP's hin! :mrgreen:


@AsteriskUndObelisk
im sip.conf hast Du jeweils den outgoing context
für das jeweilige Telefon definiert, nämlich sipgate.
Statt [1234] in der extensions.conf sollte da auch
[sipgate] stehen.

Z. B. wie hier:

; sip.conf
[1234]
...
; outgoing context
context=from1234

; extensions.conf
[from1234]
; outgoing context from 1234
exten => _X.,1,Dial(SIP/${EXTEN},30)
exten => _X.,2,Hangup

Gruß
britzelfix
 
Was sagt "sip debug" in der Asterisk Konsole wenn die Telefone versuchen sich bei ihm anzumelden? Ist bei X-Lite ein STUN Server eingetragen?
 
hallo zusammen!

danke erstmal für die antworten!

@ploieel ... das is n firmen-LAN da hab ich nich wirklich einfluss drauf :wink: ... aber daran sollte es nicht liegen!?

@britzelfix ... ok, danke dir ... ich scheine das mit dem context irgendwie noch nicht kappiert zu haben?! :cry: ich werde morgen mal den context versuchen anzupassen und dann berichten!

zur extensions.conf: ich habe wohl auch noch nicht kappiert, was das _X. zu bedeuten hat? ich hatte es laut handbook so verstanden, dass "X" ein digit von 0-9 bezeichnet ... der punkt das "matchen" bedeutet ... der underscore muss vor das pattern? und was bezeichnet der ganze string "_X." letztendlich dann für eine enxtension? ich stell mich doof an, ich weiss :roll:


@speedy ... irgendwie hat das sip debug bei mir nicht funktioniert? da scheine ich wieder an meine linux-probleme zu stossen *seufz* weder der parameter "-d" beim start von asterisk noch "sip debug" in der console brachte irgendwelche ergebnisse :( ... selbst dazu schein ich zu doof zu sein !
Im X-Lite ist ein STUN Server eingetragen, ja ... allerdings habe ich den auch rausgenommen und es tat deswegen trotzdem nicht! im LAN spielt ja der STUN server derzeit mal keine rolle oder? dabei gehts ja um NAT wenn ichs richtig verstanden habe? allerdings muss ja ein STUN eingetragen sein, wenn ich dann später mal nach ausserhalb den LANs telefonieren muss ... von demher sollte der da nicht stören, oder? :oops: klärt mich auf biette ;-)


tut mir leid, dass ich euch damit nerven muss ... aller anfang is schwer :roll:


gruss

A&O
 
zum _X. : _ sagt Asterisk, dass jetzt ein regulärer ausdruck (regexp) kommt. In diesem regexp steht das X wie schon gesagt für eine Zahl von 0-9. der Punkt steht für "beliebig viele Zahlen danach". D.h. diese extension nimmt einfach alles entgegen.

Ansonsten: beim starten vom asterisk mal ein paar v's angeben (asterisk -rvvvv) oder auf der asterisk-konsole "set verbose 5"
Dann gibts auch schon ein paar Ausgaben mehr.

Dann mach in der sip.conf das host = 10.19.10.9 bei den x-lites mal weg und ersetz es durch host=dynamic
 
hallo,

erstmal wieder 1000dank an euch alle!

so ... ich habe nun die änderungen vorgenommen ... jedoch ohne erfolg :-( . ich könnte schreien! alle welt kriegt das wohl auf die reihe, nur ich nich? :-(

folgendes:

die sip.conf sieht mittlerweile dann so aus:


[general]
port = 5060
bindaddr = 0.0.0.0
localnet = 10.19.10.0
localmask = 255.255.255.0
context = sipgate
qualify = no
disable = all
allow = alaw
allow = ulaw
allow = g729
allow = gsm
canreinvite = no
insecure = very
language = de
register => 1234567:[email protected]/1234567

[1234]
type = friend
username = 1234
secret = mypassword
host = dynamic
context = 1234out
disable = all
allow = alaw
allow = ulaw
allow = g729

[5678]
type = friend
username = 5678
secret = mypassword
host = dynamic
context = 5678out
disable = all
allow = alaw
allow = ulaw
allow = g729



und die dazugehörige extensions.conf so:


[1234out]
exten => _X.,1,Dial(SIP/${EXTEN},30)
exten => _X.,2,Hangup


wo liegt der hund begraben? :cry: der context "sipgate" unter [general] spielt in dem fall hier ja jetz keine rolle, oder?

den asterisk hatte ich die ganze zeit schon mit "asterisk -vvvvvc" gestartet gehabt ... aber anhand der ausgaben die ich da erhalte erfahre ich nix über SIP und lese nix von sip debug! wenn ich ihn mit "asterisk -rvvvvv" starte bekomme ich die meldung "ERROR[1024]: File asterisc.c, Line 619 (main) : Unable to connect to remote asterisk" :shock: fehler im C-Code? .

wo und wie kann ich denn den evtlen einlog-versuch von dem xlite sehn?

ich hoffe ihr helft mir weiterhin?! :oops:

gruss

a&o
 
Versuch's mal so:

Code:
[general] 
port = 5060 
bindaddr=10.19.10.44
localnet=10.19.10.0/255.255.255.0 
externip=
;Bei externip die IP des Routers eintragen, sofern er eine feste
;WAN IP hat, wenn nicht, dann domain bei z.B. [url]www.dyndns.org[/url] kostenlos
;besorgen und diese im Router (sofern er das unterstützt) und 
;hier als externip= eintragen (z.B. MySubDomain.dyndns.org)

context = sipgate 
qualify=no 
disallow= all 
allow=alaw 
allow=ulaw 
allow=g729 
allow=gsm 
canreinvite=no 
insecure=very 
language=de 

register => 1234567:[email protected]/1234567 

[sipgate] 
type=friend 
username=1234567
fromuser=1234567  
secret=abcdefg 
host=sipgate.de 
fromdomain=sipgate.de
context=default 
canreinvite=no 
qualify=no 
insecure=very
dtmfmode=info
nat=yes 
;wenn Asterisk hinter Router - sonst nat=no, aber hier gehen die
;Erfahrungen im Forum auseinander, bei mir läuft's mit nat=yes
;bei meinem Asterisk der hinter dem Router im lokalen Netz ist

[1234] 
type=friend 
username=1234 
secret=mypassword 
host=dynamic 
context=1234out 
disable=all 
allow=alaw 
allow=ulaw 
allow=g729 
nat=no
canreinvite=no
qualify=yes
insecure=very

[5678] 
type=friend 
username=5678 
secret=mypassword 
host=dynamic 
context=5678out 
disable=all 
allow=alaw 
allow=ulaw 
allow=g729 
nat=no
canreinvite=no
qualify=yes
insecure=very

Am besten 1:1 kopieren, weil ich auch kleinere Dinge "verbessert" habe,z.B heißt es disallow=all nicht disable=all

Zusätzlich mußt Du noch darauf achten, dass der Port 5060 sowie die gesamte in der Datei rtp.conf gesetzte Portrange vom Router auf die IP des Asterisk Servers weitergeleitet werden und offen sind (Portforwarding)

Ich bin jetzt komplett davon ausgegangen, dass Asterisk und die Softphones gemeinsam hinter einem Router liegen, der die Verbindung zum Internet herstellt. Falls dem nicht so ist, sag Bescheid.

Und noch eins zu sipgate: Es läuft bei mir (und auch bei einigen anderen) nur durch, wenn regelmäßig ein "sip reload" durchgeführt wird, ansonsten klappt's nicht mehr mit der Verbindung zu sipgate. Das sip reload habe ich in die Datei /etc/crontab eingetragen, alle 20min.:

*/20 * * * * root asterisk -rx "sip reload" > /dev/null

Statt root ggf. den usernamen nehmen unter dem Asterisk läuft, wenn nicht root.


Gruß,
Tin
 
ich würde an Deiner Stelle einfach mal mit nur einem context in der extensions.conf anfangen.... und zwar mit [default]

in der sip.conf die beiden internen user in diesen default context setzten und dann solte es schon eher klappen. Wenn beide einen eigenen context haben sollen musst Du per include die beiden contexte "untereinander bekannt machen". Und dann solltedie extension so aussehen:
exten => 1234,1,Dial(SIP/${EXTEN},30)
das gleiche noch mal für den zweiten user.
 
Nachtrag:

Ich starte die CLI immer so:

asterisk -vvvvvcr | tee /var/log/asterisk/log

Dann werden alle Ausgaben auch noch in die Datei log im Verzeichnis /var/log/asterisk geschrieben.

In der CLI kannst Du z.B. eingeben:

sip show peer 1234 <enter> , dann siehst Du den connection status von dem softphone.

sip debug <enter> erhöht den level der debug informationen die in der CLI ausgegeben werden.

Gruß,
Tin
 
weitere frage:

im CLI funzt bei mir garnix, was irgendwie mit "sip" zutun hat! also kein "sip debug" und keine "sip show channels" oder "sip show peers" etc ... er kennt den command "sip" nicht! woran liegts? muss ich da irgendwo ne libary oder was weiss ich aktivieren? au weia ich und linux! :-(
 
so ... nun kam ich nochmal dazu mich an das problem zu setzen! ich glaub mein problem ist noch ein viel grösseres als befürchtet! irgendwie kennt der asterisk NIX was mit sip-commands zutun hat! auch führt er unter der CLI mit "help" nix mit sip auf! also scheint der ganzen bude hier allgemein SIP zu fehlen? :shock: darauf hin habe ich nochmals den asterisk installiert ... doch bringt der gcc beim versuch das entpackte tar-file mit make zu kompilieren folgende fehlermeldung:

checking whether the C compiler (gcc ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables


den gcc hab ich mit apt-get install libgcc1 nochmal nachinstalliert und der scheint auch da zu sein und zu "funktionieren" , weil er auf "gcc" die meldung bringt "no input files".

hilfe hilfe ... an was hab ich mich da nur rangetraut? :oops: :(

wer weiss was da schief laufen könnte?

es is ein debian system
 
hallo ... hier is eure nervensäge wieder :oops:

entweder hab ich ne extrem blöde woche, oder ich bin echt zu blöd zu dem ganzen!

kann mir jemand von euch mal das für mich momentan grösste mysterium "context" erklären? ich blick da nicht mehr durch! was sagt context? das was ich in der sip.conf unter z.B. "context=1234out" schreibe bezieht sich dann auf das auf "[1234out]" folgende? und wann muss ich irgendwie irgendwas irgendwo includen? ich hab hier nen totalen knoten im kopf! normal stell ich mich ja nich so doof an? :oops:

kann mir das mal einer für ganz blöde verständlich machen bitte? ich hab mich scheinbar total in die ecke gerannt und blick nix mehr :-( ! und mit der suchfunktion habe ich auch nichts finden können, was mich glücklich gemacht hat! :-D

danke im vorraus!

a&o
 
Ok, dann noch mal von vorne.

Du hast meinetwegen 2 Telefone ein ISDN-Telefon (Zap)
und ein X-Lite (sipphone). Dann bist Du bei einem VoIP-Anbieter
meinetwegen bei sipgate.de (sipgate).

Code:
Anruf vom            sip.conf                  zapata.conf               extensions.conf
=========================================================================================
sipgate              [general]                                           [fromsipgate]
                     register => 121:[email protected]/121               exten => 121,1,Dial(Zap/g1,30,tr)
                     [121]                                               ; exten => 121,1,Dial(SIP/999,30,tr)
                     ; sipgate -> extensions.conf
                     context=fromsipgate
-----------------------------------------------------------------------------------------
Zap                                            ; zap -> extensions.conf
                                               context=zap               [zap]
                                                                         ; from zap
                                                                         exten => _0X.,1,Dial(SIP/121/${EXTEN},30,tr)
                                                                         exten => 999,1,Dial(SIP/999,30,tr)
-----------------------------------------------------------------------------------------
Sip-Phone            [999]                                               [sipphone]
                     context=sipphone                                    ; from sipphone
                                                                         exten => _0X.,1,Dial(SIP/121/${EXTEN},30,tr)
                                                                         exten => 666,1,Dial(Zap/g1,30,tr)


Sipgate ist bei mir in der sip.conf type=friend, daher ist es
für incoming/outgoing zuständig. IAX-Provider brauchen manchmal 2
Einträge [iaxfwd] type=user und [fwd-gw] type=peer.

Da sich bei mir die Kontexte [zap] und [sipphone] ähneln, kann man sie auch unter [default] packen.


Wenn ein Anruf vom sipgate kommt dann wird er zum Zap-Telefon weitergeleitet.
Rufe ich mit dem Zap-Telefon die 999, dann klingelt mein Sip-Phone.
Rufe ich mit dem Zap-Telefon eine 0XXXXXXX-Nummer, dann geht er über sipgate raus.
Rufe ich mit dem Sip-Phone die 666, dann klingelt mein Zap-Telefon.
Rufe ich mit dem Zap-Telefon eine 0XXXXXXX-Nummer, dann geht er über sipgate raus.

Ich hoffe es wird jetzt etwas klarer.

Gruß
britzelfix
 
danke britzelfix! ich denke das hat ein stück weit geholfen! 8)

dennoch scheine ich noch immer mit der sytax ansich und dem ganzen da so meine probleme zu haben :cry: . problem ist wohl auch, dass ich mich nie länger am stück reinknien kann sondern immer nur kurze zeit. das nächste problem is aber, dass es bald mal funktionieren muss.

standpunkt is folgender:

user 1234 und user 5678 (beides X-Lites) können sich beide beim asterisk einloggen (endlich!) ... sie erscheinen mit den diversen sip befehlen in der CLI. soweit sogut! leider kann ich aber nicht telefonieren :-( sobald ich einen anruf machen will sagt sip debug folgendes:

Sip read:
SIP/2.0 200 Ok
Via: SIP/2.0/UDP 10.19.10.20:5060;branch=z9hG4bK5c4f16de
From: "asterisk" <sip:[email protected]>;tag=as7adf87a7
To: <sip:[email protected]:5060>;tag=3050155045
Contact: <sip:[email protected]:5060>
Call-ID: [email protected]
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,NOTIFY
CSeq: 102 OPTIONS
Server: X-Lite Nikotel release 1102y
Content-Length: 0


10 headers, 0 lines
Destroying call '[email protected]'


und in meinem X-Lite steht "call failed 404 not found"

also stimmt noch immer was mit meinen .confs nicht :-(

könnt ihr nochmal einen blick drauf werfen bitte? ich steig immernoch nicht wirklich durch! denke aber dass die contexte eigentlich stimmen sollten jetzt? :oops: (IP hat sich geändert ... andere Maschine)

sip.conf
Code:
[general]
port = 5060
bindaddr=10.19.10.20
localnet=10.19.10.0/255.255.255.0
externip= xyz.abc.de

context = sipgate
qualify=no
disallow= all
allow=alaw
allow=ulaw
allow=g729
allow=gsm
canreinvite=no
insecure=very
language=de

register => 9999999:[email protected]/9999999

[sipgate]
type=friend
username=9999999
fromuser=9999999
secret=abcdefg
host=sipgate.de
fromdomain=sipgate.de
context=default
canreinvite=no
qualify=no
insecure=very
dtmfmode=info
nat=yes

[1234]
type=friend
username=1234
secret=mypassword
host=dynamic
context=1234out
disable=all
allow=alaw
allow=ulaw
allow=g729
nat=no
canreinvite=no
qualify=yes
insecure=very

[5678]
type=friend
username=5678
secret=mypassword
host=dynamic
context=5678out
disable=all
allow=alaw
allow=ulaw
allow=g729
nat=no
canreinvite=no
qualify=yes
insecure=very



extensions.conf
Code:
[default]
exten => _X.,1,Dial(SIP/$EXTEN,30)
exten => _X.,2,Hangup

[1234out]
exten => 1234,1,Dial(SIP/${EXTEN},30)
exten => 1234,2,Hangup

[5678out]
exten => 5678,1,Dial(SIP/${EXTEN},30)
exten => 5678,2,Hangup

[sipgate]
include => default
exten => _9.,1,Dial(SIP/$EXTEN:1@sipgate,60)
exten => _9.,2,Congestion
exten => _9.,102,Busy

ich blicks leider noch immer nicht :-(. ich vermute irgendwas is an der extensions.conf buggy


please help me :oops:


danke


a&o
 
@AsteriskUndObelisk

Bitte statt Text zu formatieren bitte die Code Tags benutzen, dann bleibt es übersichtlich.

jo
 
hat keiner ne idee? :roll: ich hätte heute etwas mehr zeit daran weiter zu kommen als sonst ... und ich häng mal wieder voll! puh ... also für "linux und programmier dummies" is das nich so easy alles, was? :?
 
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.