Eingehende Telefonate mit Sipcall.ch

mcclusky55

Neuer User
Mitglied seit
29 Jun 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

Ich kann mit meinem Asterisk 1.6.1 mittlerweile folgendes tun:
Intern Telefonieren zwischen meinen Beispielnummern 1962 und 1994, sowie abgehend ins externe Netz von einem meiner Test Sipura Adpater her der beim Asterisk via die Nummer 1962 angemeldet ist und mit einem Sipcall.ch Account nach aussen registriert ist. Der Account zeigt auch brav bei Sipcall den Useragenten joggeli an, es scheint alles in Ordnung. Wenn ich eingehend auf den Sipcall Account telefonieren will, der dann auf 1962 klingeln soll kommt jedoch immer ein Besetztzeichen. Seit 6 Stunden bin ich am üben mit verschiedenen Konfigurationseinstellungen, ich komme einfach nicht weiter. Mir ist klar dass es tausend Wege nach Rom gibt, einer würde mir schon genügen.

Vielleicht kann mir jemand einen Tipp geben, was ich falsch mache.

Hier meine sip.conf:

Code:
[general]
port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
;localnet=10.0.0.0/255.0.0.0 ; my local network behind NAT
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
;context = from-sip-external ; Send unknown SIP callers to this context
;callerid = Unknown
useragent=joggeli
; --------------------------------------------------------------------
;
register => 4132xxxxxxx:[email protected]/4132xxxxxxxx
; hiermit registrieren wir den Asterisk bei Sipcall, um ankommene Anrufe
; fuer User1 entgegennehmen zu koennen
;
[4132xxxxxxx]
; dies ist der Context, den wir zum Raustelefonieren verwenden
; da dieser Context zum Raustelefonieren verwendet wird,
; ist die Angabe von "context = sipcall_user1 um die User zu unterscheiden
; mit welchem Account abgehend telefoniert werden soll
username=4132xxxxxxx
callerid=4132xxxxxxx <4132xxxxxxx>
context=sipcall_user1
type=friend
secret=xxxxxxx
qualify=yes
insecure=very
host=sip.backbone.ch
outboundproxy=sip.backbone.ch
fromuser=4132xxxxxxx
fromdomain=sip.backbone.ch
canreinvite=no
dtmfmode=info
nat=yes
disallow=all
allow=ulaw
;
[sipcall_in] 
; das ist der Context für ankommende Anrufe
; von Sipcall
; Diesen Context brauchen wir nur einmal - 
; egal wieviele Sipcall-Accounts wir registrieren
; wichtig ist, dass dies der LETZTE Context von
; oben nach unten in der sip.conf  betrachtet, ist
; der einen Verweis auf sipcall.ch beinhaltet !
; Durch die Angabe von "context = ankommend"
; werden alle Anrufe in den gleichnamigen Context 
; [ankommend] in der extensions.conf geleitet.
type=peer
fromdomain=sip.backbone.ch
host=sip.backbone.ch
outboundproxy=sip.backbone.ch
canreinvite=no
dtmfmode=info
nat=yes
disallow=all
allow=ulaw
context=from-pstn
; --------------------------------------------------------------------
;
; hier kommen die Anmeldekontexte für die SIP Endgeraete 1962 und 1994
;
[1962]
callerid=User1 <1962>
context=default
qualify=yes 
host=dynamic
domain=10.x.x.x
user=1962
secret=xxxx
type=friend
mailbox=xxxx
nat=yes
canreinvite=no

[1994]
callerid=User2 <1994>
host=dynamic
domain=10.x.x.x
user=1994
secret=xxxx
type=friend
mailbox=1994
nat=yes
canreinvite=no

Hier meine extensions.conf:

Code:
[general]
static = yes
writeprotect = no
clearglobalvars = yes
; --------------------------------------------------------------------
; Es hat sich als gute Praxis erwiesen, die Inhalte der Datei
; extensions.conf modular aufzubauen. Diese Praxis wollen
; wir auch hier anwenden
;
[lokal]
; Erreichbarkeit der Nebenstellen 1962 1994
; untereinander herstellen
exten => 1962,1,Dial(SIP/1962) 
exten => 1962,2,hangup 
exten => 1994,1,Dial(SIP/1994) 
exten => 1994,2,hangup
;
[sipcall_user1]
; Diesen Context verwenden wir zum waehlen von abgehenden
; Rufnummern über den Sipcall Account 4132xxxxxxx mit der Einstellung
; 45 Sekunden klingeln lassen bis nächste Aktion
exten => _0XXXX.,1,Dial(SIP/${EXTEN}@4132xxxxxxx,45,r) 
exten => _0XXXX.,2,Congestion 
exten => _0XXXX.,3,Busy 
exten => _0XXXX.,4,Hangup
; 
[from-pstn]
exten => 4132xxxxxxx,1,Dial(SIP/1962,45)
exten => 4132xxxxxxx,2,Congestion
exten => 4132xxxxxxx,3,Busy
exten => 4132xxxxxxx,4,Hangup
; --------------------------------------------------------------------
;
; hier kommt der default-Context, in dem alle Geraete in der
; Grundkonfiguration erstmal laufen.
; Alle Geraete koennen sich gegenseitig anrufen
[default]
include => lokal
include => sipcall_user1
include => from-pstn
 
brauch der [general] abschnitt in der sip.conf niccht auch einen context ?
 
Vielleicht kann mir jemand einen Tipp geben, was ich falsch mache.

Dein .conf scheinen korrekt. Ersetze mal in der [from-pstn]
4132... durch _X.

Und schau dann, was auf dem cli passiert. Kann sein, dass die Rufnummer anders übertragen wird.

Ansonsten zeige uns mal die Ausgabe vom cli während eines Anrufs.
 
Hallo,

Danke für die Hinweise. Der _X. Eintrag anstelle der Rufnummer hat leider nichts gebracht, ich erhalte nach wie vor ein Besetztzeichen. Ich habe deshalb mal ein sip set debug on gemacht und einen Anrufsversuch getätigt. Im Anhang die CLI Daten. Vielleicht ergibt dass einen Hinweis wo der Fehler liegen könnte. Die eigenen IP Adressen und Telefonnummern habe ich jeweils unkenntlich gemacht, die von Sipcall stehen lassen.
 

Anhänge

  • Incoming call.txt
    8.8 KB · Aufrufe: 10
Vielleicht ergibt dass einen Hinweis wo der Fehler liegen könnte.

SIP/2.0 501 Not Implemented

Ist ein Problem, das andere Problem ist Contact: Anonymous <sip:212.117.200.148:5061>

Da stimmen die Ports nicht überein

Das Problem dürfte innerhalb deines Servers liegen, denn Found peer '4132xxxxxxx' for '079xxxxxxx' from ... sieht gut aus.


Und zuviel Geld hast du auch! Wenn ich jetzt noch deine ip herausbekomme, telefoniere ich auf dein Kosten, denn du hast in deiner extensions.conf

[default]
include => sipcall_user1


Wenn ich nun eine Nummer auf den solomonen@deine_Asterisk_ip anrufe, kostet dich der Spass nur 3 Franken die Minute.

Also include => sipcall_user1 raus aus default.
 
Lege in der sip.conf noch einen zweiten context

Code:
[sipcall2_in] 
type=peer
fromdomain=voipgateway.org
host=voipgateway.org
canreinvite=no
dtmfmode=info
nat=yes
disallow=all
allow=ulaw
context=from-pstn

an!

Die Calls kommen nämlich nicht von sip.backbone.ch, sondern von sipXX.voipgateway.org.
 
Hallo,

Ich habe nach stundenlanger Probiererei folgendes herausgefunden:

Eingehende Telefone gehen nur wenn der type=user gesetzt ist
Ausgehende Telefone gehen nur wenn der type=friend gesetzt ist

Wenn in meiner sip.conf also steht:
Code:
[general]
useragent=joggeli
;port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
;localnet=10.0.0.0/255.0.0.0 ; my local network behind NAT
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
maxexpirey=180
defaultexpirey=160
nat=yes

[4132xxxxxxx]
; Hier muss type=user stehen, sonst gehen die Incoming Calls nicht
callerid=4132xxxxxxx <4132xxxxxxx>
fromdomain=voipgateway.org
fromuser=4132xxxxxxx
host=voipgateway.org
insecure=very
nat=yes
qualify=yes
secret=xxxxxxxx
type=user
username=4132xxxxxxx
canreinvite=no
dtmfmode=info
disallow=all
allow=ulaw
context=incoming_guest-voip

und in meiner extensions.conf steht:

Code:
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Dial(SIP/1962)
[default]
include => lokal
include => incoming_guest-voip
gehen eingehende Telefone via Sipcall ?????

Aendere ich den Eintrag in der sip.conf auf type=friend und ergänze meine extensions.conf durch die Einträge:

Code:
[sipcall_out]
exten => _0XXXX.,1,Dial(SIP/${EXTEN}@4132xxxxxxx,45,r) 
exten => _0XXXX.,2,Congestion 
exten => _0XXXX.,3,Busy 
exten => _0XXXX.,4,Hangup
;
[incoming_guest-voip]
exten => 4132xxxxxxx,1,Dial(SIP/1962)
;
[default]
include => lokal
include => incoming_guest-voip
include => sipcall_out

kann ich ausgehend telefonieren aber eingehend nicht ????

Was könnte hier falsch sein? Ich dachte type=friend ist für beides, peer und user? Wie kann ich in der sip.conf 2 Einträge machen, so dass der für incoming auf type=user und der für outgoing auf type=friend reagiert? Er nimmt immer die letzte Sipcall betreffende Sektion in der sip.conf, steht dort peer kann ich raustelefonieren, steht dort user kann ich reintelefonieren, nur bringe ich den Asterisk nicht dazu bei ausgehenden Anrufen eine andere Sektion in der sip.conf zu nehmen als bei eingehenden. Ich habe hier ein Verständnisproblem. Bei einem Eintrag friend funktioniert nur der ausgehende Anruf.
 
Zuletzt bearbeitet:
Hallo,
Kann mir niemand einen Tipp geben, wie ich eingehende Anrufe mit type=user und ausgehende mit type=friend abwickeln kann? Kann man dass irgendwie mit einem app Kontext lösen?
 
Ich konnte das Problem mittlerweile lösen - interssiert vielleicht den einen oder anderen:

Wenn man einen Provider wie Sipcall hat, der in der eingehenden Sektion der sip.conf type=user haben will und in der ausgehenden Sektion type=peer und sonst partout nicht funktioniert (hat mich 40 Stunden und meine paar Tage Ferien gekostet das rauszufinden, da Sipcall Asterisk nicht supportet) muss man einen Parameter ändern, damit Asterisk (zumindest meine Version1.6.1) 2 peers akzeptiert:

Anstelle

Code:
insecure=very
muss
Code:
insecure=invite

gesetzt werden.

Den entscheidenden Hinweis habe ich in diesem Thread gefunden, vielen Dank an Blacklevel - genialer Typ!

http://ting.ip-phone-forum.de/showthread.php?t=174488
 
sipcall.ch kann auch von unbekannten Hosts anrufen, DNS SRV stellen die nicht zur Verfügung,
die balancieren wohl durch zufällige Vergabe des hosts in den zugesandten Anmeldedaten aus:

Code:
[sipcall-ch]
type=peer
username=41xxxxxxxxx
fromuser=41xxxxxxxxx
fromdomain=free1.voipgateway.org
secret=xxxxxxxxxx
host=free1.voipgateway.org
;qualify=5000
;nat=no
canreinvite=no

[sipcall-ch-balancer](!)
type=peer
context=von-sipcall-ch
insecure=port,invite
;qualify=5000
;nat=no
canreinvite=no

[sipcall-ch1](sipcall-ch-balancer)
host=free1.voipgateway.org

[sipcall-ch2](sipcall-ch-balancer)
host=free2.voipgateway.org

[sipcall-ch3](sipcall-ch-balancer)
host=free3.voipgateway.org

[sipcall-ch4](sipcall-ch-balancer)
host=free4.voipgateway.org
 
Zuletzt bearbeitet:
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.