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

Anruf endet bei Falscher Nummer

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von thisismyname, 26 Sep. 2008.

  1. thisismyname

    thisismyname Neuer User

    Registriert seit:
    24 Sep. 2008
    Beiträge:
    78
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student
    #1 thisismyname, 26 Sep. 2008
    Zuletzt bearbeitet: 26 Sep. 2008
    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:pass0@voip.xxx.net/000
    
    context=IN1
    register => 0xxx91:pass1@voip.xxx.net/001
    
    context=IN2
    register => 0xxx92:pass2@voip.xxx.net/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 [0xxx91@OUT0:1] Dial("SIP/2000-081d8170", "SIP/0xxx91@0xxx90") in new stack
        -- Called 0xxx91@0xxx90
        -- Executing [001@IN2:1] Answer("SIP/0xxx92-081e2240", "") in new stack
        -- Executing [001@IN2: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 [001@IN2: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
     
  2. Burmann

    Burmann Mitglied

    Registriert seit:
    16 Feb. 2005
    Beiträge:
    372
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  3. thisismyname

    thisismyname Neuer User

    Registriert seit:
    24 Sep. 2008
    Beiträge:
    78
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student
    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
     
  4. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    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
    ...
     
  5. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  6. thisismyname

    thisismyname Neuer User

    Registriert seit:
    24 Sep. 2008
    Beiträge:
    78
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Student
    Gut, wenn man die ganzen incoming Contexte zusammenfasst funktioniert das ganze auch auf einmal...

    :)) danke euch 1000mal ;)

    greetz