Config-Probleme mit Asterisk, Sipgate und Cisco trotz HowTo

trepper

Neuer User
Mitglied seit
25 Jun 2005
Beiträge
59
Punkte für Reaktionen
0
Punkte
0
Hi all,

dies ist mein erster Post, ich schreibe ihn, weil ich trotz Howto und Suche noch immer ein Problem habe. :oops:

Ich habe meine Configs den Howtos entsprechend angepasst und ich kann andere SIP-Teilnehmer anrufen. Was noch nicht geht:

1) Ankommende Gespräche entgegen nehmen
2) Anrufe (ausgehend) ins Festnetz (Account aufgeladen)

Ich habe keinen Plan, was ich falsch mache. Hier sind meine (anaonymisierten) Configs:

extensions.conf
[TomCisco]
;exten => 3002,1,Dial(SIP/${EXTEN},60)
;exten => 2003,2,Congestion
;exten => 3002,102,Busy
exten => 3002,hint,SIP/TomCisco ; Channel hints for presence
exten => 3002,1,Dial(SIP/TomCisco,20,rt) ; permit transfer
exten => 3002,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
exten => 3002,n,Voicemail(u3002) ; Voicemail (unavailable)
exten => 3002,s+1,Hangup ; s+1, same as n
exten => 3002,dial+101,Voicemail(b3002) ; Voicemail (busy)

[default]
exten => ,1,Dial(SIP/${EXTEN},60)
exten => ,2,Congestion
exten => ,102,Busy

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

sip.conf
[general]
port = 5060
bindaddr = 0.0.0.0
context = default
disallow=all
allow=gsm
allow=ulaw
allow=alaw
srvlookup=yes
externip = myExtIP (a.b.c.d)
localnet=192.168.0.0/255.255.255.0

register => myID:[email protected]/myID


[sipgate]
type=peer
username=myID
fromuser=myID
authuser=myID
secret=myPass
host=217.10.79.9 ; sipgate.de
fromdomain=sipgate.de
nat=no
context=default
canreinvite=no
insecure=very
dtmfmode=info
qualify=yes

[TomCisco]
type=friend
;username=1234
secret=3002
host=dynamic
disallow=all
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=sipgate
defaultip=192.168.0.90
mailbox=3002
qualify=200
callerid="Tom" <3002>
nat=no

Wäre total klasse, wenn mir da jemand von Euch einen Tipp geben könnte.

Herzlichen Dank

Thomas


edit:
Meine Firewall leitet UDP 10000, TCP 5060 und 5004 zum Asterisk.
 
Code:
[default]
exten => ,1,Dial(SIP/${EXTEN},60)
exten => ,2,Congestion
exten => ,102,Busy

1.) Fehler: Da sind die extensions falsch. Vor dem 1. Komma muß immer was stehen !
2.) Fehler: Da dies der Standard für ankommende Rufe ist, mußt Du dem Asdterisk schon sagen, wohin er den Anruf leiten soll.

Also
Code:
[default]
exten => _X.,1,Dial(SIP/3002,60)
exten => _X.,2,Congestion
exten => _X.,102,Busy
 
Ich bin ein wenig bekloppt vom Wetter, deshalb irre ich mich vielleicht; was mir aber in den Kopf kommt:

Port 5060 ist UDP und nicht TCP. Dasselbe trifft auf die rtp-Ports zu. In deinem Fall 5004. Du solltes aber mehr als einen Port nehmen, denn meines Wissens brauchst du für ein Gespräch zwei Ports (5004 und 5005).

Dann würde ich noch prüfen, ob diese Ports geeignet sind, mit dem Asterisk zu kommunizieren. In der rtp.conf ist festgelegt, auf welchen Ports der Server quatschen will.

Weiter: In der sip.conf würde ich den Kontext [Sipgate] durch [myID] (also mit deiner SipID ) ersetzen. Kann aber auch sein, dass das nicht notwendig ist. Ich habe es auf jeden Fall wie beschrieben gemacht und so geht es. Registriert sich denn Asterisk bei Sipgate?
 
Hi betateilchen,

danke für Deine Hilfe, es klappt. Allerdings habe ich in DEINER Änderung noch einmal die 3002 durch "TomCisco" erstzt. Jetzt klappt es, ich kann raustelefonieren und ankommende Gespräche klingeln. Danke, onekilometer für Deine Hilfe mit der Firewall. :)

Meine extensions.conf sieht jetzt so aus;
[TomCisco]
;exten => 3002,1,Dial(SIP/${EXTEN},60)
;exten => 2003,2,Congestion
;exten => 3002,102,Busy
exten => 3002,hint,SIP/TomCisco ; Channel hints for presence
exten => 3002,1,Dial(SIP/TomCisco,20,rt) ; permit transfer
exten => 3002,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
exten => 3002,n,Voicemail(u3002) ; Voicemail (unavailable)
exten => 3002,s+1,Hangup ; s+1, same as n
exten => 3002,dial+101,Voicemail(b3002) ; Voicemail (busy)

[default]
exten => _X.,1,Dial(SIP/TomCisco,60)
exten => _X.,2,Congestion
exten => _X.,102,Busy

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

Jetzt habe ich nur noch 4 Fragen:

1) Was muß ich machen, um auch ins Festnetz zu kommen?
2) Wie kann ich einen zweiten Account auf ein anderes Telefon legen
3) Wie kann ich einen dritten Account auf das gleiche Telefon legen?
4) @betateilchen: Wofür stehen die _X. ?

Herzlichen Dank

Thomas
 
Bitte verwende nächstes Mal das CODE Tag und nicht den QUOTE (das macht das Ganze übersichtlicher)

Das mit dem "TomCisco" ist richtig. Bei mir ist der Dialplan so aufgebaut, daß die Telefone nach Ihrer "Nummer" benamt sind.

zu 1.) Wenn Du "raustelefonieren" kannst, kommst Du doch auch über Sipgate ins Festnetz ?

zu 2.) genauso wie den ersten Account auf das erste Telefon

zu 3.) Das macht keinen Sinn

zu 4.) das bedeutet "jede beliebige numerische Kombination" in dem vorliegenden Fall also "alle ankommenden Anrufe werden per SIP an TomCisco weitergeleitet"
 
Hi betateilchen,

zu Punkt 3: Das macht sehr wohl Sinn, denn ich habe vor, einen sipgate.de und einen sipgate.at Account zu haben, die beide aufs gleiche Telefon sollen und beim raustelefonieren will ich durch eine Vorwahl bestimmen, welchen Account ich verwende.

Wie kann ich das am besten machen, d.h. was muß ich an der Konfiguration ändern?

Thomas
 
Vielleicht habe ich es nicht verstanden, aber du musst deinen sipgate.at-Account natürlich registrieren, also einen "register"-Eintrag in der sip.conf vornehmen. Außerdem musst du dort einen neuen Kontext [sipgateAT] (oder wie auch immer) anlegen. In der extensions.conf gehört dann:

Code:
[sipgateAT] 
exten => _8.,1,Dial(SIP/${EXTEN:1}@sipgateAT,60) 
exten => _8.,2,Congestion 
exten => _8.,102,Busy

Wenn du nun die Ziffer "8" vor der Rufnummer wählst, geht das Gespräch über sipgate.at raus.
 
Danke, das verstehe ich. Wie kann ich jetzt 2 Accounts (ankommend) auf ein Telefon legen und was muß ich tun, damit ich auch untereinander, d.h. direkt zwischen den 2 Telefonen, telefonieren kann?

Hast Du da vielleicht eine Beispiel-sip und ext?

Danke
 
Hast du es denn schon probiert? Eigentlich müssten mit deinen Einstellungen alle! Anrufe am Telefon TomCisco ankommen.

Zwischen beiden Telefonen telefonieren? Laut deiner Konfiguration gibt es ja nur ein Telefon? Hier komme ich nicht mehr mit.
 
zu Punkt 3: Das macht sehr wohl Sinn, denn ich habe vor, einen sipgate.de und einen sipgate.at Account zu haben, die beide aufs gleiche Telefon sollen und beim raustelefonieren will ich durch eine Vorwahl bestimmen, welchen Account ich verwende.

DAs hat übrigens nichts mit "einen weiteren Account aufs gleihce Telefon legen" zu tun, unter der Bezeichnung verstehe ich was anderes. Also hatten wir da ein Verständigungsproblem.

In meiner Beispielkonfiguration gibt es in der extensuons.conf einen Kontext [ankommend] der ist exakt für diesen Zweck gedacht. In diesen Kontext schickst du von der sip.conf aus alle ankommenden Anrufe, und sortierst dann aus, welches Telefon bei welchem Anruf klingeln soll.
 
Sorry, habe mich etwas ungeschickt ausgedrückt. Insgesamt habe ich 3 Accounts und 2 Phones und 1 Asterisk. ;-)

Die Konfiguration sieht jetzt so aus:

sip.conf
Code:
[general] 
 port = 5060 
 bindaddr = 0.0.0.0 
 context = default      ; <---- needed?
 disallow=all 
 allow=gsm
 allow=ulaw 
 allow=alaw
 srvlookup=yes 
 externip = a.b.c.d        
 localnet=192.168.0.0/255.255.255.0

 register => myID_A:[email protected]/myID_A  ;sipgate_de_tom
 register => myID_B:[email protected]/myID_B  ;sipgate_at_tom
 register => myID_C:[email protected]/myID_C	;sipgate_at_nic


[sipgate_tom_de] 
 type=peer 
 username=myID_A
 fromuser=myID_A
 authuser=myID_A
 secret=myPass_A
 host=217.10.79.9              ; sipgate.de
 fromdomain=sipgate.de
 nat=no
 context=tom_dial
 canreinvite=no
 insecure=very
 dtmfmode=info
 qualify=yes


[sipgate_tom_at] 
 type=peer 
 username=myID_B
 fromuser=myID_B
 authuser=myID_B
 secret=myPass_B
 host=212.236.252.3              ; sipgate.at
 fromdomain=sipgate.at
 nat=no
 context=tom_dial
 canreinvite=no
 insecure=very
 dtmfmode=info
 qualify=yes


[sipgate_nic_at] 
 type=peer 
 username=myID_C
 fromuser=myID_C
 authuser=myID_C
 secret=myPass_C
 host=212.236.252.3              ; sipgate.at
 fromdomain=sipgate.at
 nat=no
 context=nic_dial
 canreinvite=no
 insecure=very
 dtmfmode=info
 qualify=yes


[TomCisco] 
 type=friend 
 ;username=1234
 secret=600 
 host=dynamic 
 disallow=all 
 allow=ulaw 
 allow=alaw 
 dtmfmode=rfc2833
 context=sipgate_tom
 defaultip=192.168.0.84
 mailbox=600
 qualify=200
 callerid="Tom" <600>
 nat=no 


[NicCisco]
 type=friend		
 ;username=cisco2
 secret=400
 qualify=200
 nat=no
 host=dynamic
 disallow=all 
 allow=ulaw 
 allow=alaw 
 dtmfmode=rfc2833
 context=sipgate_nic
 defaultip=192.168.0.83
 mailbox=400
 callerid="Nicole" <400>

extension.conf
Code:
[TomCisco]
 exten => 600,1,Dial(SIP/${EXTEN},60)
 exten => 600,2,Congestion
 exten => 600,102,Busy

[tom_dial] 
 exten => _X.,1,Dial(SIP/TomCisco,60)
 exten => _X.,2,Congestion
 exten => _X.,102,Busy

[sipgate_tom] 
 ;include => default      ;<----- needed?
 exten => _9.,1,Dial(SIP/${EXTEN:1}@sipgate_tom_de,60)
 exten => _9.,2,Congestion
 exten => _9.,102,Busy
 exten => _3.,1,Dial(SIP/${EXTEN:1}@sipgate_tom_at,60)
 exten => _3.,2,Congestion
 exten => _3.,102,Busy


;-----------------------------------------------------------------------------------

[NicCisco]
 exten => 400,1,Dial(SIP/${EXTEN},60)
 exten => 400,2,Congestion
 exten => 400,102,Busy

[nic_dial] 
 exten => _X.,1,Dial(SIP/NicCisco,60)
 exten => _X.,2,Congestion
 exten => _X.,102,Busy

[sipgate_nic]
 exten => _3.,1,Dial(SIP/${EXTEN:1}@sipgate_nic_at,60)
 exten => _3.,2,Congestion
 exten => _3.,102,Busy


Und hier habe ich die folgenden Probleme:
1) Ich kann nicht von einem Phone auf das andere, d.h. 400 -> 600 etc
2) Ich kann von tom_sipgate_at nicht rauswählen:
-- Executing Dial("SIP/TomCisco-c299", "SIP/503175@sipgate_tom_austria|60") in new stack
-- Called 0720503175@sipgate_tom_austria
-- Got SIP response 404 "Not Found" back from 212.236.252.3
-- SIP/sipgate_tom_austria-08cd is circuit-busy
== Everyone is busy/congested at this time

Danke für Eure Hilfe,

Tom
 
@trepper

Ich hab das bei mir zB in bestimmt contexte gepackt.

-----externsions.conf-----
[dial-in]
bla bla bla

[nebenstellen]
400 bla bla
600 bla bla

[leistungsmerkmale]
mailbox bla bla
conf bla bla

[nur-intern]
include => nebenstellen
include => leistungsmerkmale

[dial-out]
include => nebenstellen
include => leistungsmerkmale
bla bla rauswählparameter bla bla
-----externsions.conf-----

So kann man zB in der sip.conf das Telefon 600 in den "nur-intern"-context hauen und es kann dann nur die Voicemail und die andere Rufnummer erreichen. Wenn du zB die 400 in den "dial-out"-context knallst, kannst du mit dieser dann auch zusäzlich raustelefonieren.

Das ist jetzt nur mal so als Anstoß zu betrachten.


Gruß Basti
 
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.