Call rejected: No such context/extension

VOIPdani

Mitglied
Mitglied seit
8 Aug 2005
Beiträge
432
Punkte für Reaktionen
0
Punkte
0
Hallo,

seit kurzem hab ich 2 Asteriske im Einsatz. Ein Asterisk enthält die Logik und die Verbindung zur alten TK und der 2. Asterisk dient als Gateway in die Telekom-Welt.

Nun ist mir folgendes Problem aufgefallen: Versucht ein externer Anrufer eine DW zu wählen die es nicht gibt (Anrufer vertippt sich od. weiß es nicht besser), dann wird der Anruf beendet:
Code:
Apr 19 09:02:52 VERBOSE[20583] logger.c:     -- Accepting overlap voice call from '073268xxxxx' to '80' on channel 0/1, span 7
Apr 19 09:02:52 VERBOSE[16149] logger.c:     -- Starting simple switch on 'Zap/19-1'
Apr 19 09:02:56 VERBOSE[16149] logger.c:     -- Executing Dial("Zap/19-1", "IAX2/obelisk:[email protected]/8011@ISDN-IN-AMT") in new stack
Apr 19 09:02:56 VERBOSE[16149] logger.c:     -- Called obelisk:[email protected]/8011@ISDN-IN-AMT
Apr 19 09:02:56 WARNING[20592] chan_iax2.c: Call rejected by 172.21.31.51: No such context/extension
Apr 19 09:02:56 VERBOSE[16149] logger.c:     -- IAX2/172.21.31.51:4569-3 is circuit-busy
Apr 19 09:02:56 VERBOSE[16149] logger.c:     -- Hungup 'IAX2/172.21.31.51:4569-3'
Apr 19 09:02:56 VERBOSE[16149] logger.c:   == Everyone is busy/congested at this time (1:0/1/0)
Code:
Apr 19 09:02:37 NOTICE[29742]: chan_iax2.c:7160 socket_read: Rejected connect attempt from 172.21.31.50, request '8011@ISDN-IN-AMT' does not exist
Wünschenswert wäre aber dass der externe Anrufer dann zur Vermittlung verbunden wird um dort über die richtige Nummer informiert zu werden.

Hier noch die extensions.conf des Gateways zum Amt:
Code:
[ISDN-IN-AMT]
exten => _X.,1,Dial(IAX2/obelisk:[email protected]/${EXTEN}@ISDN-IN-AMT)
exten => s,1,Set(TIMEOUT(digit=4))
exten => s,2,Dial(IAX2/obelisk:[email protected]/0@ISDN-IN-AMT)
exten => 0,1,Dial(IAX2/obelisk:[email protected]/0@ISDN-IN-AMT)
Im Kontext ISDN-IN-AMT auf dem Logik-Asterisk hab ich alle möglichen DW einzeln aufgelistet.

Ich hab mir schon überlegt ein Pattern zu definieren, aber dann würden wahrscheinlich alle Anrufer in dieses Pattern fallen...

Vielleicht hat jemand von euch ein ähnliches Problem schon gelöst und kann mir weiterhelfen?!

lg Dani
 
Wenn Deine Nebenstellen alle die gleiche Länge haben ist es einfach.

exten => 123,1,NoOP(123)

exten => 215,1,NoOP(215)

exten => [1-6]XX,1,NoOP(alle von 100 bis 699 die keinen eigenen Eintrag haben)

Wenn Die Nebenstellen unterschiedliche Längen haben, mußt Du mit include einen weiteren Context integrieren damit kürzere Pattern nicht sofort matchen.

Oder Du benutzt die i Extension........
 
Hallo Thomas007,

also die i Extension wäre natürlich meine bevorzugte Lösung, aber irgendwie funktioniert das nicht so recht....

Ich hab jetzt in der extensions.conf vom Asterisk folgendes eingefügt:
Code:
[ISDN-IN-AMT]
switch => Realtime/ISDN-IN-AMT@extensions
[B]exten => i,1,Dial(${KAPSCH}/0)[/B]
Und in der extensions.conf vom Obelisk hab ich folgendes eingefügt:
Code:
[ISDN-IN-AMT]
exten => _X.,1,Dial(IAX2/obelisk:[email protected]/${EXTEN}@ISDN-IN-AMT)
exten => s,1,Set(TIMEOUT(digit=4))
exten => s,2,Dial(IAX2/obelisk:[email protected]/0@ISDN-IN-AMT)
exten => 0,1,Dial(IAX2/obelisk:[email protected]/0@ISDN-IN-AMT)
[B]exten => i,1,Dial(IAX2/obelisk:[email protected]/0@ISDN-IN-AMT)[/B]

Aber wenn ich mit meinem Handy die DW 89631 wähle (die es nicht gibt) sagt der Obelisk
Code:
    -- Accepting overlap voice call from '066454xxxxx' to '89631' on channel 0/1, span 5
    -- Starting simple switch on 'Zap/13-1'
    -- Executing Dial("Zap/13-1", "IAX2/obelisk:[email protected]/89631@ISDN-IN-AMT") in new stack
    -- Called obelisk:[email protected]/89631@ISDN-IN-AMT
    -- IAX2/172.21.31.51:4569-2 is circuit-busy
Apr 19 14:50:50 WARNING[20592]: chan_iax2.c:6927 socket_read: Call rejected by 172.21.31.51: No such context/extension
Apr 19 14:50:50 NOTICE[20592]: chan_iax2.c:1681 iax2_destroy: Avoiding IAX destroy deadlock
    -- Hungup 'IAX2/172.21.31.51:4569-2'
  == Everyone is busy/congested at this time (1:0/1/0)
und der Asterisk:
Code:
Apr 19 14:50:31 NOTICE[26433]: chan_iax2.c:7160 socket_read: Rejected connect attempt from 172.21.31.50, request '89631@ISDN-IN-AMT' does not exist

Aber: Deinen Vorschlag mit dem Pattern werd ich mal ausprobieren, nur was ist wenn mal einer eine Ziffer zuviel oder zuwenig wählt, dann sollte der Anrufer ja eigentlich auch zur Vermittlung gelangen...

lg Dani

Nachtrag: Ich hab jetzt das Pattern _9XXX auf meinem Testsystem ausprobiert und bei mir ist es so, dass dann alle Nummern die mit 9 beginnen in dieses Pattern fallen auch wenn mein Kontext so aussieht:
Code:
[FIRMAINTERN]
switch => Realtime/FIRMAINTERN@extensions
exten => t,1,Playtones(busy)
exten => _9XXX,1,NoOp(DW nicht vorhanden)
 
Zuletzt bearbeitet:
Hi,
Du hast realtime!
Die i-Extension ist zur Fehlerbehandlung. Ich habe jetzt nicht genau geschaut ob ein Fehlerfall bei Dir eintritt.

Man sollte die Sachen auch im Dialplan behandeln.
exten => 123,1,NoOP(123)
exten => 215,1,NoOP(215)
exten => [1-6]XX,1,NoOP(alle von 100 bis 699 die keinen eigenen Eintrag haben)
include => denRest
[denRest]
exten => _X.,1,NoOp(Hier wird alles andere - numerisch - eingesammelt.)
 
hi,

danke für deinen Post! Mit dem Kontext [denRest] klappts bei mir :-)

lg Dani
 
Kostenlos!

Statistik des Forums

Themen
248,858
Beiträge
2,303,027
Mitglieder
378,509
Neuestes Mitglied
anthonyschipper06