.titleBar { margin-bottom: 5px!important; }

über sipgate raustelefonieren

Dieses Thema im Forum "sipgate" wurde erstellt von nirvana1000, 2 Dez. 2004.

  1. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. wildzero

    wildzero Mitglied

    Registriert seit:
    5 Juli 2004
    Beiträge:
    636
    Zustimmungen:
    0
    Punkte für Erfolge:
    18
    Ort:
    Wiesbaden
  3. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  4. ecco

    ecco Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    174
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Ansage kam bei mir, als ich noch kein Guthaben aufgeladen hatte... Vielleicht ist das Problem darin zu suchen?
     
  5. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    konto ist aufgeladen, muss an der einstellung liegen ...
     
  6. otaku42

    otaku42 Admin-Team

    Registriert seit:
    26 März 2004
    Beiträge:
    1,670
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  7. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi otaku42,

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

    danke+ gruss thomas
     
  8. jcovert

    jcovert Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  9. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  10. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  11. jcovert

    jcovert Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  12. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  13. jcovert

    jcovert Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  14. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  15. nirvana1000

    nirvana1000 Neuer User

    Registriert seit:
    26 Nov. 2004
    Beiträge:
    83
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  16. jcovert

    jcovert Neuer User

    Registriert seit:
    28 Okt. 2004
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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