über sipgate raustelefonieren

nirvana1000

Neuer User
Mitglied seit
26 Nov 2004
Beiträge
83
Punkte für Reaktionen
0
Punkte
0
Hallo,

habe mehrere Posts mit unterschiedlichen Aussagen dazu gefunden. Kann mir jemand hier mal eine komplette einfache Doku geben, so dass 2 interne Teilnehmer (Grandstream 101) über Sipgate raustelefonieren können. (nur voip klappt bereits, nur normales öffentliches Netz nicht).

verstehe garnicht, warum man bei sipgate solch eine anleitung nicht findet, schliesslich verdienen die doch darüber ihr geld ?

habe asterisk 1.02 auf rh fedora core2 installiert.

danke + gruss thomas
 
hi wildzero,

danke den link kannte ich schon, was bei mir nur leider nicht funktioniert ist die rauswahl ins öffentliche telefonnetz über sipgate. ich bekomme immer die ansage, es ist ein fehler aufgetreten, sipgate zu spigate user geht, gute sprachqualität. ich kann auch von extern erreicht werden.

zu erste meine config: (grundlage ist der obige link)

;/etc/asterisk/sip.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context = default
;language=de;

disallow=all
allow=gsm
allow=ulaw
allow=alaw

;register => <SipgateAccount>:<SipgatePasswort>@sipgate.de/2000
;hier steht mein account, den ich auch mit sip show peers sehe

[2000]
type=friend
username=2000
secret=11
host=dynamic
disallow=all
allow=ulaw
allow=alaw
dtmfmode=rfc2833
context=sipgate

[sipgate]
type=friend
username=8008295
host=sipgate.de
fromuser=8008295
fromdomain=sipgate.de
nat=no
context=default
canreinvite=no

;/etc/asterisk/extensions.conf
Code:
[default]
exten => 2000,1,Dial(SIP/${EXTEN},60)
exten => 2000,2,Congestion
exten => 2000,102,Busy

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

Die Fehlermeldung sieht konkret so aus:

-- Executing Dial("SIP/2000-24e4", "SIP/02118793846@sipgate|60") in new stack
-- Called 02118793846@sipgate
-- SIP/sipgate-879a answered SIP/2000-24e4
-- Attempting native bridge of SIP/2000-24e4 and SIP/sipgate-879a
== Spawn extension (sipgate, 902118793846, 1) exited non-zero on 'SIP/2000-24e4'

gebe ich die ext. nummer ohne null an, bekomme ich folgenden Fehler:

-- Executing Dial("SIP/2000-5ad9", "SIP/2118793846@sipgate|60") in new stack
-- Called 2118793846@sipgate
-- Got SIP response 404 "Not Found" back from 217.10.79.9
-- SIP/sipgate-fb7e is circuit-busy
== Everyone is busy/congested at this time
-- Executing Busy("SIP/2000-5ad9", "") in new stack
== Spawn extension (sipgate, 92118793846, 102) exited non-zero on 'SIP/2000-5ad9'

hat jemand eine idee was falsch konfiguriert ist ?

danke + gruss thomas

edit otaku42: Bitte die
Code:
-Tags verwenden fuer solche Dinge. Danke.
 
nirvana1000 schrieb:
ich bekomme immer die ansage, es ist ein fehler aufgetreten, sipgate zu spigate user geht, gute sprachqualität.
Die Ansage kam bei mir, als ich noch kein Guthaben aufgeladen hatte... Vielleicht ist das Problem darin zu suchen?
 
konto ist aufgeladen, muss an der einstellung liegen ...
 
nirvana1000 schrieb:
;register => <SipgateAccount>:<SipgatePasswort>@sipgate.de/2000
;hier steht mein account, den ich auch mit sip show peers sehe
Das ; vor register sollte in der "echten" Version dort nicht stehen. Ausserdem muss die 2000 durch die Sipgate-ID ersetzt werden. Bei extensions.conf brauchst Du dann noch eine Regel, die Anrufe auf Deiner Sipgate-ID an den Client 2000 weiterleitet. Das muesste dann eigentlich funktionieren, wenn mich nicht alles taeuscht.

Ansonsten schau mal im Asterisk-Bereich vorbei, da gibts mittlerweile genuegend Threads, die unter anderem auch die Konfiguration fuer Sipgate behandeln.
 
hi otaku42,

das mit dem semikolion ist klar. wie sieht denn die 2000 regel genau aus ?

danke+ gruss thomas
 
Wo steht denn das Secret? Es muß 2mal erscheinen: 1. im Register und 2. im [account]. Hier sind meine Sipgate-Einträge; funktioniert einwandfrei:

register => 870xxxx:<secret>@sipgate.de/870xxxx

[sipgate-b]
type=friend
secret=<secret>
username=870xxxx
fromuser=870xxxx
fromdomain=sipgate.de
host=sipgate.de
dtmfmode=rfc2833
nat=no
insecure=very
canreinvite=no
context=inbound-sipgate

exten => _0.,1,Dial(SIP/${EXTEN}@sipgate-b,120)
(andere "exten"-Möglichkeiten nach wahl.

/john

edit otaku42: Bitte keine gueltigen Logindaten posten. Du hattest zwar die Sipgate-ID unkenntlich gemacht, aber das Passwort sah ziemlich echt aus. Mit ein bisschen social engineering waere es kein Problem, Deinen Account zu missbrauchen.
 
ok,jetzt kann ich das erstemal über sipgate ins öffentliche telefonnetz raustelefonieren, prima. problem war sipgate account am ende des register eintragen, und in der sip.conf [sipgate] secret= eintragen.

ich melde mich gleich nochmal, da noch nicht alles funktioniert, probiere noch etwas aus, die finale version wird dann hier veröffentlicht, ziel ist es mit der vorwahl 0 ins pstn, 8 voip und mit 9 über sipgate pstn zu telefonieren, von aussen soll die pstn sipgate nummer auf ein grandstream geroutet werden.

nochmal danke an jcovert
 
anbei der aktuelle stand der konfig files, wie gesagt habe die konfig files umgestellt und neue user verwendet.
1021 ist ein softphone x-ite, 1022 ein grandstream budgetone 101

;/etc/asterisk/sip.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context = default

disallow=all
allow=ulaw
allow=alaw

register => <SipgateAccount>:<SipgatePasswort>@sipgate.de/<SipgateAccount>

[1021]
type=friend
username=1021
secret=11
host=dynamic
context=default
mailbox=1021

[1022]
type=friend
username=1022
secret=11
host=dynamic
context=default
mailbox=1022

[sipg1]
type=friend
secret=<SipgatePasswort>
username=<SipgateAccount>
fromuser=<SipgateAccount>
fromdomain=sipgate.de
host=sipgate.de
dtmfmode=sip
nat=no
insecure=very
canreinvite=no
context=incoming

;/etc/asterisk/extensions.conf
Code:
[general]
static=yes
writeprotect=yes

[default]
include => incoming
include => outgoing

[incoming]
exten => 1021,1,Dial(SIP/${EXTEN},20)
exten => 1021,2,Voicemail(u1021)
exten => 1021,102,Voicemail(b1021)
exten => 1021,103,Wait(3)
exten => 1021,104,Hangup

exten => 1022,1,Dial(SIP/${EXTEN},20)
exten => 1022,2,Voicemail(u1022)
exten => 1022,102,Voicemail(b1022)
exten => 1022,103,Wait(3)
exten => 1022,104,Hangup

exten => 9999/_[1-9].,1,Answer
exten => 9999/_[1-9].,2,Wait(1)
exten => 9999/_[1-9].,3,VoicemailMain2(s${CALLERIDNUM})
exten => 9999/_[1-9].,4,Wait(3)
exten => 9999/_[1-9].,5,Hangup

[outgoing]
exten => _0.,1,Dial(CAPI/${EXTEN:1}@sipg1,60)
exten => _0.,2,Congestion
exten => _0.,102,Hangup

exten => _8.,1,Dial(SIP/${EXTEN}@sipg1,60)
exten => _8.,2,Congestion
exten => _8.,102,Hangup

exten => _9.,1,Dial(SIP/${EXTEN:1}@sipg1,60)
exten => _9.,2,Congestion
exten => _9.,102,Hangup

folgende Probleme treten jetzt noch auf:

wähle ich 8 mit einer anderen sip nummer kommt dieser fehler:

-- Executing Dial("SIP/1022-35c2", "SIP/88005410@sipg1|60") in new stack
-- Called 88005410@sipg1
-- Got SIP response 404 "Not Found" back from 217.10.79.9
-- SIP/sipg1-4b6d is circuit-busy
== Everyone is busy/congested at this time
-- Executing Hangup("SIP/1022-35c2", "") in new stack
== Spawn extension (default, 88005410, 102) exited non-zero on 'SIP/1022-35c2'

versuche ich meine normale rufnummer aus dem festnetz zu erreichen, bekomme ich ein Besetzt Zeichen. Trage ich bei register 1022 ein, dann funktioniert die rufnummer, nur leider die vorwahl 9 nicht mehr.

lokales isdn mit 0 geht noch garnicht, aber hoffentlich in kürze

hat jemand eine idee ? danke + gruss thomas

edit otaku42: bitte die code-tags verwenden
 
Festnetz:

>exten => _0.,1,Dial(CAPI/${EXTEN:1}@sipg1,60)

1. Wieso CAPI? SIPgate erreicht man doch per SIP. (Also wenn es gemeint ist, Festnetznr per "0" zu erreichen.)
2. ${EXTEN:1} bedeutet ein Ziffer wegzunehmen beim Auswählen. Wählt man "0931345345" dann geht nur "931345345" hinaus.

Mein Vorschlag (oben) für Sipgate ins festnetz war:
exten => _0.,1,Dial(SIP/${EXTEN}@sipgate-b,120)
Dabei ist alles was mit "0" anfängt unverändert an sipgate gegeben.

>wähle ich 8 mit einer anderen sip nummer
>exten => _8.,1,Dial(SIP/${EXTEN}@sipg1,60)

Da ${EXTEN} dort steht, ist die gewählte "8" noch Bestandteil der angerufenen Nummer und wird mitgeschickt. Mit diesem "exten"-Eintrag wählt man dann die SipgateNr "8005410" einfach mit "8005410"; also ohne noch eine "8" als Zugangscode.

>exten => _9.,1,Dial(SIP/${EXTEN:1}@sipg1,60)

Mit diesem "exten"-Eintrag ist dann "9" ein Zugangscode; danach kann mann irgendetwas das für Sipgate gültig ist wählen; die "9" wird nicht mitgeschickt.

Ich schlage die Seite http://www.voip-info.org/tiki-index.php?page=asterisk+variables vor, besonders die Diskussion unten nach dem Stichwort "Substrings".

/john
 
ok, das mit dem :1 wusste ich nicht, zu meiner testumgebung, ich habe eine isdn-karte mit cologne-chipsatz im rechner auf dem asterisk läuft.
und diese ist mit einem ntba/s0 der telekom verbunden.

ich möchte nun wenn ich 0 vorwähle, auf lokalem isdn telefonieren, wähle ich ich die 8 vor über voip mit anderen sipgate usern, und wenn ich 9 vorwähle über sipgate zu zu 0,89 cent telefonieren.

habe folgende änderung gemacht
exten => _8.,1,Dial(SIP/${EXTEN:1}@sipg1,60)

danach erhalte ich immer noch folgenden fehler:


-- Executing Dial("SIP/1022-434b", "SIP/8005410@sipg1|60") in new stack
-- Called 8005410@sipg1
-- Got SIP response 404 "Not Found" back from 217.10.79.9
-- SIP/sipg1-6ce6 is circuit-busy
== Everyone is busy/congested at this time
-- Executing Hangup("SIP/1022-434b", "") in new stack
== Spawn extension (default, 88005410, 102) exited non-zero on 'SIP/1022-434b'

danke + gruss thomas
 
Ist 8005410 eine gültige SIPgateNr? Ich bekomme die gleiche Fehlermeldung, aber richtige Nr funktionieren.

Bei Sipgate wählt man eine 7-stellige Sipgate Nr, eine vollständige deutsche Nr mit 0 und Vorwahl (z.b. 0931345345), eine vollständige internationale Nr mit 00 und Landeskennzahl, oder eine VoIP Peering Nr wie z.b. 000 393 612 (für die Zeitansage von FreeWorldDialup).

/john
 
ja, die nummer ist gültig, zumind. konnte ich bei der anfangs startkonfiguration die ich hier gepostet habe, die nummer ohne probleme erreichen, habe gerade mal 0211/58005410 und 8005410 probiert jeweils der gleiche not found fehler, die zeitansage für freeworlddialup funktioniert allerdings, also scheint das ein routing problem zu sein.
 
ein problem weniger, habe mal 2 register einträge ausprobiert.

register => <SipgateAccount>:<SipgatePasswort>@sipgate.de/<SipgateAccount>
register => <SipgateAccount>:<SipgatePasswort>@sipgate.de/1022

jetzt kann ich mit vorwahl 9 über sipgate 0,89 cent telefonieren, und erhalte auf der zum sipgateaccount gehörigen normalen Festnetznummer auch eingehende calls. prima.

es fehlt jetzt nur noch über die vorwahl 8 andere voip user zu erreichen und lokales isdn, was ich mir jetzt mal anschauen werde.

/thomas
 
Hmmm. 2xregister ist Unsinn.

Aber ein Hinweis zu dem "register"-Eintrag. Nach dem "/" steht ein Token das beim Register als "contact" an den Provider gesendet wird. Bei einem ankommenden Anruf vom Provider kommt dann ein INVITE mit diesem Token.

Also. Was macht Asterisk mit diesem INVITE. Ganz einfach. Asterisk schaut in dem "context" der in sip.conf entweder als default SIP context für ankommende Anrufe (oben unter [general]) oder spezifisch bei dem [provider]-Eintrag(*) eingetragen ist. In diesem Context muß dieser Token als "exten" erscheinen. Die Behandlung ankommender Anrufe ist dabei Verwaltet.

Andere Leute in diesem Forum haben geschrieben, es sei nötig bei Sipgate als Token immer die SipgateKontoNr anzugeben. Das kann ich weder bestätigen noch verneinen. Normalerweise bei Asterisk (und bestätigt bei anderen Providern) ist der Token ganz unabhängig von alles anderem. Nur wichtig ist es das es auf einen gültigen "exten" im richtigen "context" deutet.

*Oben habe ich geschrieben, der Context für ankommende Gespräche sei entweder der Default von [general] oder spezifisch vom [provider]. Das ist normalerweise der Fall. Aber ich habe mein sipgate-Konto, und meine Frau hat ihres, und die sind beide in dem gleichen Asterisk-Server tätig. Asterisk findet den ersten Eintrag mit der IP-Adresse von dem anrufenden Provider und geht zu diesem Context (bzw. zum Default von [general] sei die Adresse nicht gefunden). Am Anfang hatte ich inbound-sipgate-b für meinen, und inbound-sipgate-nbg für das Konto meiner Frau; alles ging aber zu -b, wo der Token für -nbg nicht gefunden war. Lösung: nur einen Context für die beiden; der "exten" kommt dann von den seperaten "register"-Einträgen.

Ich Benutze in der Regel einen seperaten ankommenden Context für jeden Provider. Die meisten sind aber gleich behandelt, und sehen etwa so aus:

[inbound-provider]
exten => <token_vom_register>,1,Goto(inbound-ringall,999,1)
exten => h,1,Hangup

Ich kann besondere Sachen für einen Provider machen, wie z.B. die ankommende CallerID behandeln, aber die eigentliche Arbeit wird in [inbound-ringall] gleich für alle gemacht. Endeffekt ist das wir erreichen die Extensions die klingeln sollen, z.b.

[inbound-ringall]
exten => 999,1,Dial(SIP/x21&SIP/x22&SIP/x23) ; Das ganze Haus klingelt
(und noch weitere Möglichkeiten)

/john


/john
 
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.