Anruf endet bei Falscher Nummer

thisismyname

Neuer User
Mitglied seit
24 Sep 2008
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Hi,

ich habe meinen Asterisk 1.4 Server ueber 3 SIP Accounts registriert. Hier vorerst die extesions.con und die sip.conf

extensions.conf
Code:
[default]

[OUT0]  ;Hier haengt ein IP-Hardphone dran
exten = _XXXX.,1,Dial(SIP/${EXTEN}@0xxx90)
exten = _XXXX.,2,Hangup

exten => 1001,1,Answer()
exten => 1001,2,Playback(hello-world)
exten => 1001,3,Hangup

[OUT1] ;Hier in KPhone (soft)
exten = _XXXX.,1,Dial(SIP/${EXTEN}@0xxx90)
exten = _XXXX.,2,Hangup

[IN0] ;SIPID0
exten => 000,1,Dial(SIP/2000)

[IN1] ;SIPID1
exten => 001,1,Dial(SIP/2001)

[IN2] ;SIPID2
exten => 001,1,Answer()
exten => 001,2,Playback(hello-world)
exten => 001,3,Hangup
sip.conf
Code:
[general]
port=5060
bindaddr=0.0.0.0
srvlookup = yes
defaultexpiry=600

context=IN0
register => 0xxx90:[email protected]/000

context=IN1
register => 0xxx91:[email protected]/001

context=IN2
register => 0xxx92:[email protected]/002


[2000]
context=OUT0
type=friend
secret=1234
host=dynamic

[2001]
context=OUT1
type=friend
secret=1234
host=dynamic

[0xxx90]
context=IN0
type=peer
username=0xxx90
fromuser=0xxx90
secret=pass0
host=voip.xxx.net
fromdomain=voip.xxx.net
insecure=very
caninvite=no
canreinvite=no
nat=yes

[0xxx91]
context=IN1
type=peer
username=0xxx91
fromuser=0xxx91
secret=pass1
host=voip.xxx.net
fromdomain=voip.xxx.net
insecure=very
caninvite=no
canreinvite=no
nat=yes

[0xxx92]
context=IN2
type=peer
username=0xxx92
fromuser=0xxx92
secret=pass2
host=voip.xxx.net
fromdomain=voip.xxx.net
insecure=very
caninvite=no
canreinvite=no
nat=yes
Sooo, nun zum Problem...
...wenn ich von meinem Handy aus, oder zb der 0xx90 die 0xxx91 waehle komm ich immer im Context von 0xxx92 raus, also IN2. Die Hello world wird abgespielt. Hier die verbose Level 5 meldung von Asterisk bei folgendem Vorgang:

Ich Rufe von meinem Hardphone mit der Nummer 0xxx90 die 0xxx91 an. Aber wieso steht als ankommende Nummer die 0xxx92 da, aber die Richtige Caller-ID 001???

Code:
    -- Executing [[email protected]:1] Dial("SIP/2000-081d8170", "SIP/[email protected]") in new stack
    -- Called [email protected]
    -- Executing [[email protected]:1] Answer("SIP/0xxx92-081e2240", "") in new stack
    -- Executing [[email protected]:2] Playback("SIP/0xxx92-081e2240", "hello-world") in new stack
    -- <SIP/0xxx92-081e2240> Playing 'hello-world' (language 'en')
    -- SIP/0xxx90-081dd1f0 answered SIP/2000-081d8170
    -- Executing [[email protected]:3] Hangup("SIP/0xxx92-081e2240", "") in new stack
  == Spawn extension (IN2, 001, 3) exited non-zero on 'SIP/0xxx92-081e2240'
  == Spawn extension (OUT0, 0xxx91, 1) exited non-zero on 'SIP/2000-081d8170'
Ich verzweifle an diesem Problem... falls irgendwer eine Idee haette ich waere wahnsinnig dankbar!!!

greetz myname
 
Zuletzt bearbeitet:

Burmann

Mitglied
Mitglied seit
16 Feb 2005
Beiträge
372
Punkte für Reaktionen
0
Punkte
0
Asterisk kann das nicht

Asterisk kann die Accounts 0xxx90-0xxx92 bei ankommenden Ruf nicht unterscheiden wenn sie von der gleichen IP & Port kommen.

Also PW muß überall gleich sein und context sollte überall gleich sein (sonst weiß man nicht wo der Call landen wird). Alle Unterscheidungen durch die gerufene Nummer die bei register angegeben wurde ("/000" .. "/002") im Dialplan setzen/unterscheiden.
 

thisismyname

Neuer User
Mitglied seit
24 Sep 2008
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Das heisst eine Firma die Intern einen Asterisk Server verwendet ihre SIP clients aber bei der Hauptfiliale zentral registriert hat kann das nicht mit Asterisk umsetzten?

Oder was gibt es sonst fuer moeglichkeiten von einem Asteriskserver mit 2 registrierten SIP Accounts untereinander zu telefonieren?

greetz
 

kombjuder

IPPF-Promi
Mitglied seit
2 Nov 2004
Beiträge
3,086
Punkte für Reaktionen
0
Punkte
0
Das heisst eine Firma die Intern einen Asterisk Server verwendet ihre SIP clients aber bei der Hauptfiliale zentral registriert hat kann das nicht mit Asterisk umsetzten?
Da du den gleichen "Absender" für deine Gespräche hast, musst du in der sip.conf deine Kontexte aufteilen in 3x out und einmal in. Wobei "in" der letzte dieser Gruppe sein muss!
Wie das geht siehe http://www.ip-phone-forum.de/showthread.php?t=91217

Dann gehst du von dort in einen Kontext in oder incomming oder wie immer du das Ding taufst. Dort wertest du aus

exten => 000,1,Goto ... Telefon1
exten => 001,1,Goto ... Telefon2
...
 

Thomas007

Aktives Mitglied
Mitglied seit
18 Sep 2005
Beiträge
1,455
Punkte für Reaktionen
0
Punkte
0
Asterisk kann die Accounts 0xxx90-0xxx92 bei ankommenden Ruf nicht unterscheiden wenn sie von der gleichen IP & Port kommen.
Das passiert nur wenn man register und die Def. des Contextes falsch macht. Ein Indikator dafür ist die Verwendung von insecure obwohl das dafür überhaupt nicht benötigt wird.

In der sample sip.conf steht wie man eine richtige Registrierung macht und wie der dazu gehörende Context auszusehen hat. Dann klappt es auch.

Einfacher ist es allerdings zwei * Server mit IAX2 miteinander zu verbinden oder wenn man es ganz funktional haben will DUNDI zu benutzen.
 

thisismyname

Neuer User
Mitglied seit
24 Sep 2008
Beiträge
78
Punkte für Reaktionen
0
Punkte
0
Gut, wenn man die ganzen incoming Contexte zusammenfasst funktioniert das ganze auch auf einmal...

:)) danke euch 1000mal ;)

greetz
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,905
Beiträge
2,028,023
Mitglieder
351,049
Neuestes Mitglied
LtdLathara