Sipgate + Asterisk -> Verbindungsprobleme

embago

Neuer User
Mitglied seit
1 Okt 2004
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hallo liebes Forum,
Ich bzw mein Asterisk hat schon seit einer Woche das Problem, das ich bei sipgate die 10000 Testnummer erreiche aber leider kann ich nicht angerufen werden und das schlimmste ist ich muß für anrufe meine analoge Leitung benutzen (igitt..... :? )
Ich habe schon soooviel gelesen und probiert (meine Freundin flippt bald aus...) aber ich
komme mit meinen Problemen einfach nicht weiter... :evil:
[hr:fe323c312e]
Wenn ich die 10000 Testnummer wähle, klappt das ohne probs und folgendeMeldung erscheint:
Code:
Asterisk Ready.
*CLI>     -- Executing Dial("SIP/88-74ab", "SIP/10000@sipgate1|30|r") in new stack
    -- Called 10000@sipgate1
    -- SIP/sipgate1-0225 answered SIP/88-74ab
    -- Attempting native bridge of SIP/88-74ab and SIP/sipgate1-0225
  == Spawn extension (app88, 10000, 1) exited non-zero on 'SIP/88-74ab'
    -- Executing Dial("SIP/88-74ab", "SIP/h@sipgate1|30|r") in new stack
    -- Called h@sipgate1
  == Spawn extension (app88, h, 1) exited non-zero on 'SIP/88-74ab'
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
    -- parse_srv: SRV mapped to host proxy.de.sipgate.net, port 5060

sooo weit so gut !!!!

Problem ist jetzt nur wenn ich mich auf dem Handy anrufen will, kommt 1x ein freizeichen und dann sagt eine Stimme: "Es ist ein Fehler aufgetreten, versuchen sie es noch einmal"
Dazu erscheint die Meldung:
Code:
 *CLI>     -- Executing Dial("SIP/88-c5d4", "SIP/01632316077@sipgate1|30|r") in new stack
    -- Called 01632316077@sipgate1
    -- SIP/sipgate1-dd44 answered SIP/88-c5d4
    -- Attempting native bridge of SIP/88-c5d4 and SIP/sipgate1-dd44
  == Spawn extension (app88, 01632316077, 1) exited non-zero on 'SIP/88-c5d4'
    -- Executing Dial("SIP/88-c5d4", "SIP/h@sipgate1|30|r") in new stack
    -- Called h@sipgate1
Oct 27 12:27:19 WARNING[98310]: chan_sip.c:681 retrans_pkt: Maximum retries exceeded on call [email][email protected][/email] for seqno 102 (Critical Request)
  == No one is available to answer at this time
    -- Executing Hangup("SIP/88-c5d4", "") in new stack
  == Spawn extension (app88, h, 2) exited non-zero on 'SIP/88-c5d4'
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
Außerdem kann ich nicht meine Nummer bei sipgate anrufen, da ist immer besetzt !!
[hr:fe323c312e]
Hier sind noch meine configs:
extention.conf:
Code:
[general]
static=yes
writeprotect=no
;
[globals]
;
[fromsipgate]
;Anrufe für sipgate-Account 1 an App. 88 leiten
exten => sipgate1,1,SetCallerID(${CALLERIDNUM})
exten => sipgate1,2,Dial(SIP/88,30) ;Anruf an Nebenstelle 88 geben
exten => sipgate1,3,Hangup
;
[app88]
exten => _.,1,Dial(SIP/${EXTEN}@sipgate1,30,r)
exten => _.,2,Hangup
[hr:fe323c312e]
und noch die sip.conf:
Code:
[general]
port = 5060
bindaddr = 0.0.0.0 (IP-Adresse des Servers)
language = de
disallow = all              ; disallow all codecs, we want to enable, 
allow    = gsm              
allow    = ilbc
allow    = speex
allow    = g729             ; g729 only works for pass-thru, if you haven't bought a license
allow    = g726
allow    = ulaw
allow=all  
nat=no
srvlookup=yes


register => 5338258:[email protected]/sipgate ; sipgate

[sipgate1] ; OUTGOING 
type=peer
username = 5338258
fromuser = 5338258
secret = XXXX
context = default
host = sipgate.de
fromdomain = sipgate.de
insecure = very
reinvite = no
canreinvite = no
nat = no
allow = all

; [sipgate2] ; hier kämen analog die OUTGOING-Kontexte für weitere
;sipgate-Benutzer hin
;

[sipgate_in] ; das ist der Incoming-Kontext für ALLE über EINEN Asterisk registrierten sipgate-Accounts !
type=peer
fromdomain=sipgate.de
host=sipgate.de
context=fromsipgate

[88] ;
type=friend
host=dynamic
username=88
secret=1234
context=app88
insecure=very
callerid=("Iggy" <88>)
caninvite=no
canreinvite=no
allow=ulaw
nat=no ;

Ich hoffe das mir irgendjemand helfen kann und bedanke mich schon mal im voraus....
Gruß aus Köln
Iggy :wink:
 
Bevor Du einen Wählbefehl per Dial an Sipgate schickst, mußt Du auf jeden Fall Dein Sipgate-ID setzen.

exten _.,1,setcallerid(1234567) ; die 7-stellige Sipgate-ID
exten _.,n,Dial(SIP/blablabla)
exten _.,n,Hangup

Ohne die Sipgate-Id wirst Du keinen Anruf erfolgreich zustandebringen.
 
die callerid wird meines Wissens bei Anrufen ins Festnetz über SIPgate ignoriert, denn ich habe auch versucht eine andere zu setzen (sipgate überträgt trotzdem die sipgate-telefonnummer und anrufe funktionieren)

Wäre als CallerID nicht eigentlich die SIP-Telefonnummer logischer?

jens
 
@embago

probiert mal unter [sipgate1] folgende Änderungen/Ergänzungen
type=friend
qualify=yes
nat=yes (oder hängst Du nicht hinter einem Router?)

unter [88] hinzufügen/ändern
host=dynamic
qualify=yes
canreinvite=yes

weglassen:
callerid=.....

in extensions.conf [app88] ändern:
Code:
exten => _.,1,SetCallerID(5338258)
exten => _.,2,SetCIDName(5338258)
exten => _.,3,Dial(SIP/${EXTEN}@sipgate1,30,r) 
exten => _.,4,Hangup
Gruß,
Tin
 
@emabgo:

da ist mir noch etwas aufgefallen: unter

[sipgate1] ; OUTGOING
type=peer

muß es type=user oder friend sein, peer erlaubt nur Einwahl

mfg jens
 
exten => _.,1,Dial(SIP/${EXTEN}@sipgate1,30,r)
exten => _.,2,Hangup

Ich würde das nicht so in extensions.conf reinschreiben, sondern so:

exten => _X.,1,Dial(SIP/${EXTEN}@sipgate1,30,r)
exten => _X.,2,Hangup

Grund: Nach dem Auflegen wird das Extension "h" aufgerufen. Da "h" auch zum Pattern "_." passt, wird Dial(SIP/${EXTEN}@sipgat1,30,r) (Jetzt EXTEN=h) noch einmal ausgeführt, was natürlich nicht richtig ist. Daher kommt die Meldung

Executing Dial("SIP/88-74ab", "SIP/h@sipgate1|30|r") in new stack
...
Got SIP response 482 "Loop Detected" back from 217.10.79.9
 
TinTin schrieb:
@embago

probiert mal unter [sipgate1] folgende Änderungen/Ergänzungen
type=friend
qualify=yes
nat=yes (oder hängst Du nicht hinter einem Router?)

wird leider immer falsch interpretiert:

nur wenn der Client hinter NAT sitzt, muss nat=yes gesetzt werden. Ich gehe mal davon aus, dass der Sipgateserver sich nicht hinter NAT versteckt ;)

type= peer ist an der Stelle auch ok
 
@rollo

zum Thema NAT: gemeint ist ja wohl hier, daß der Provider den Asterix hinter dem NAT ansprechen soll oder nicht? ist das irgendwo genauer beschrieben, denn gerade hier gibt es ja immer wieder Probleme, insbesondere wenn man mit 2 verschiednen SIP_providern arbeitet.

zum type: warum ist peer auch ok wenn es um ausgehende Rufe geht? wozu brauche ich dann Type überhaupt?

jens
 
rollo schrieb:
TinTin schrieb:
@embago

probiert mal unter [sipgate1] folgende Änderungen/Ergänzungen
type=friend
qualify=yes
nat=yes (oder hängst Du nicht hinter einem Router?)

wird leider immer falsch interpretiert:

nur wenn der Client hinter NAT sitzt, muss nat=yes gesetzt werden. Ich gehe mal davon aus, dass der Sipgateserver sich nicht hinter NAT versteckt ;)

type= peer ist an der Stelle auch ok

von wem? Bei mir ist es nat=yes in dem Context, weil Asterisk bei mir hinter dem Router läuft, daher auch die Anmerkung von mir in Klammern.
Das Endgerät ist bei mir ebenfalls hinter dem Router also nat=no. Wie es um seine Netzwerk-Topografie bestellt ist, wissen wir ja nicht.

Gruß,
Tin
 
Aus dem Wiki:

nat: This variable changes the behaviour of Asterisk for clients behind a firewall. This does not solve the problem if Asterisk is behind the firewall and the client on the outside

D.h. für den Fall, dass Du von irgendwo mit einem Client hinter NAT auf Deinen Asterisk zugreifst muss es auf yes stehen.

peer: A SIP entity to which Asterisk sends calls (a SIP provider for example). If you want a user (extension) to have multiple phones, define an extension that calls two SIP peers. The peer authenticates at registration.


jo
 
die callerid wird meines Wissens bei Anrufen ins Festnetz über SIPgate ignoriert, denn ich habe auch versucht eine andere zu setzen (sipgate überträgt trotzdem die sipgate-telefonnummer und anrufe funktionieren)

Wäre als CallerID nicht eigentlich die SIP-Telefonnummer logischer?

jens


Es geht nicht darum, was von Sipgate letztendlich übertragen wird - Sipgate kann übrigens sogar einen Text (Z.B. "BetaTeilchen") übertragen.

Auf meinem Asterisk ist es einfach so, daß ich über Sipgate nicht telefonieren, solange in der CallerID nicht der richtige Wert (=meine SipID) mit übergeben wird :!: Wenn ich da was anderes eintrage, funktioniert telefonieren übrigens auch nicht.
 
:D So, erstmal ich danke euch allen für eure Hilfe !!! :D
Da meine Windows Büchse gestern kurz nach dem ich den thread geschrieben haben den Geist aufgegeben hat (mal wieder), hat ich gestern keinen Bock mehr auf PC !!!!
Werde das heute abend mal testen !! :wink:
 
@ TinTin
nat=yes (oder hängst Du nicht hinter einem Router?)
nein ich habe das so gemacht:
DSL Modem->Asterisk Server->3com Router (aber nur als Switch) -
ATA 486 (Nebenstelle 88 ) und jetzt auch noch ein BT101 (soll Nebenstelle 89 intern werden).
!

So, hab die Einstellungen von euch übernommen, aber leider kommt wenn ich die Testnummer
10000 anrufe nur ein total verzerrte Sprachausgabe. :cry: Beide Telefone können sich auch nicht untereinander anrufen
Asterisk ziegt dann folgende Meldung:
Code:
Oct 31 14:16:33 NOTICE[245775]: rtp.c:489 ast_rtp_read: Unknown RTP codec 98 received
Oct 31 14:16:33 NOTICE[245775]: rtp.c:489 ast_rtp_read: Unknown RTP codec 98 received
    -- Saved useragent "Grandstream BT100 1.0.5.9" for peer 89
  == Spawn extension (app88, 10000, 3) exited non-zero on 'SIP/88-cd67'
    -- Executing SetCallerID("SIP/88-cd67", "5338258") in new stack
    -- Executing SetCIDName("SIP/88-cd67", "5338258") in new stack
    -- Executing Dial("SIP/88-cd67", "SIP/h@sipgate1|30|r") in new stack
    -- Called h@sipgate1
  == Spawn extension (app88, h, 3) exited non-zero on 'SIP/88-cd67'
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
    -- Got SIP response 482 "Loop Detected" back from 217.10.79.9
Ich glaub ich bin echt zu blöd dafür... :roll:....
Hab die extensions.conf jetzt so angeordnet:

Code:
[general]
static=yes
writeprotect=no
;
[globals]
;
[fromsipgate]
;Anrufe für sipgate-Account 1 an App. 88 leiten
exten => sipgate1,1,SetCallerID(${CALLERIDNUM})
exten => sipgate1,2,Dial(SIP/88,30) ;Anruf an Nebenstelle 88 geben
exten => sipgate1,3,Hangup
;
;Diese Mimik beliebig fortsetzen
;Anrufe für sipgate-Account 2 an App. 89 leiten
exten => sipgate2,1,SetCallerID(${CALLERIDNUM})
exten => sipgate2,2,Dial(SIP/89,30,r) ;Anruf an Nebenstelle 89 geben
exten => sipgate2,3,Hangup
;
[default]
;Hier wählen die einzelnen Nebenstellen über den Ihnen zugeordneten
;Account raus
;
[app88]
exten => _.X,1,SetCallerID(5338258)
exten => _.X,2,SetCIDName(5338258)
exten => _.X,3,Dial(SIP/${EXTEN}@sipgate1,30,r)
exten => _.X,4,Hangup 


;diese Mimik beliebig fortsetzen
[app89]
exten => _.X,1,SetCallerID(5338258)
exten => _.X,2,SetCIDName(5338258)
exten => _.X,3,Dial(SIP/${EXTEN}@sipgate1,30,r)
exten => _.X,4,Hangup
Und die sip.config sieht so aus:
Code:
[general]
port = 5060
bindaddr = 192.168.1.9 (IP-Adresse des Servers)
language = de
disallow = all              ; disallow all codecs, we want to enable, 
allow    = gsm              
allow    = ilbc
allow    = speex
allow    = g729             ; g729 only works for pass-thru, if you haven't bought a license
allow    = g726
allow    = ulaw
allow=all  
nat=yes
srvlookup=yes


register => 5338258:[email protected]/sipgate ; sipgate

[sipgate1] ; das ist der OUTGOING Kontext für sipgate-Benutzer 1
type=friend
username = 5338258
fromuser = 5338258
secret = XXXXXX
context = default
host = sipgate.de
fromdomain = sipgate.de
insecure = very
reinvite = yes
canreinvite = yes
nat = no
allow = all

; [sipgate2] ; hier kämen analog die OUTGOING-Kontexte für weitere
;sipgate-Benutzer hin
;

[sipgate_in] ; das ist der Incoming-Kontext für ALLE über EINEN Asterisk registrierten sipgate-Accounts !
type=friend
fromdomain=sipgate.de
host=sipgate.de
context=fromsipgate

[88] ; eine Nebenstelle habe ich einfach mal 88 genannt
type=friend
username=88
secret=1234
context=app88
insecure=very
host=dynamic
qualify=yes
canreinvite=yes
allow=ulaw
nat=no

[89] ; analog weitere SIP-Nebenstellen definieren
type=friend
host=dynamic
username=89
secret=1234
context=app89
insecure=very
;qualify=yes
canreinvite=yes
allow=ulaw
nat=no

Das Ziel dieser Übung ist, das ich am Ende 4 IP Endgeräte (3x BT101 und 1x ATA486) am
laufen habe, die untereinander telefonieren können und am besten über einen sipgate oder
putel account outbound telefonieren können. 1 Telefon (Nebenstelle 88 ) soll alle inbound
calls bekommen und an die Nebenstellen weiterleiten.
Kann man sowas überhaupt realisieren ???
Danke für eure Hilfe !!!
:x :
der (verzweifete) Iggy
:bahnhof:
 
- in der Extension muß es wohl statt _.X _X. sein (alle Nummern die mindestens 1 Stelle haben)

- es fehlen die Einträge für s,i,t und h, weswegen er den Call nocmals mit h durchführt (weil _.X eben auch h als Extension auswertet)

- bei sipgatein mußte bei mir die ausgewertete Extension auf die UserID gesetzt werden

mit folgenden Befehl in der extension.conf kann man sich jeweils anschauen wie der Context aufgerufen wird:

exten => _.,1,NoOp, EXTENSION: ${EXTEN} CallerID: ${CallerID} ...

mfg jens
 
- es fehlen die Einträge für s,i,t und h, weswegen er den Call nocmals mit h durchführt (weil _.X eben auch h als Extension auswertet)

Was meinst du damit :oops: ? (peinlich, peinlich....)

Gibt es denn nirgendwo ein Beispiel extension.config, wo alles sofort läuft und man nur noch seine Daten eintragen muß ?(Wunschdenken)? Alle Muster die ich bis jetzt gesehn habe gehen
immer bei der Erkärung "blockweise" vor und springen immer zwischen den Dateien mit ihren
Erklärungen hin und her; das finde ich echt verwirrend !!!
 
es gibt einfach zu viele verschiedene Konfigurationen.
 
betateilchen schrieb:
Bevor Du einen Wählbefehl per Dial an Sipgate schickst, mußt Du auf jeden Fall Dein Sipgate-ID setzen.

exten _.,1,setcallerid(1234567) ; die 7-stellige Sipgate-ID
exten _.,n,Dial(SIP/blablabla)
exten _.,n,Hangup

Ohne die Sipgate-Id wirst Du keinen Anruf erfolgreich zustandebringen.

versteh ich nicht ganz - bei mir steht nur:

exten => _.,1,Dial(SIP/${EXTEN}@sipgate,30,r)

und ich kann raustelefonieren.

Leider funktioniert es ankommend noch nicht - bin mit * hinter einer Fritzbox fon wlan. Habe heute gerade auf 08.01.18 upgedatet, uPnP eingeschaltet, aber es klappt nicht.

Wenn es bei jemandem funktioniert, bitte melden.

eine Frage hab ich dann noch - kann ich mit einem analogem systel (nst11) über den am internen s0 bus angeschlossenem * über Sip raustelfonieren, und wenn ja - wie??

Gruß
Uwe
 
@shootie
Ich kenne die Fritzbox zwar nicht, aber bei "normalen" Routern mußt Du die Port-Range, die in rtp.conf festgelegt ist(default 10000-20000 mein ich), sowie port 5060 (falls nicht geändert) zum * weiterleiten.

Gruß,
Tin
 
Hallo TinTin,

habe mal die rtp.conf auf 10000 - 10012 beschränkt, und in der Fritzbox weitergeleitet- den Port 5060 intern auf 5061 extern - aber es kommt nichts an.

Feierabend - bis die Tage
Uwe
 
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.