[Problem] IAX2 Asterisk 1.4 <-> Asterisk 1.6

snoopy_spy

Neuer User
Mitglied seit
19 Mai 2007
Beiträge
108
Punkte für Reaktionen
0
Punkte
0
Hallo ich möchte gerne 2 Server per IAX2 verbinden das die ganz normal untereinadner Telefonieren können.

Auf beiden Servern gibt es die gleichen Extensions die per Follome dann auf 9* geleitet werden
also bei der Extension 15 gibt es dann eine 915#

und die 9 -> wird die 9 weggeschnitten und auf den IAX2 Trunk gelegt.

Beide Serve gehören UNS
Beide Server haben eine FIXE IP
Der 1.4 Asterisk ist ein vServer wo ich leider nicht so einfach auf einen Asterisk 1.6 wechseln kann :(

Ich möchte gerne per FreePBX das so konfigurieren das die sich untereinander registrieren.

Asterisk1
Code:
register => 998@IP_des_Asterisk2
[998]
username=998
type=friend
auth=md5
secret=999
context=from-isdn
allow=all

[999]
username=999
type=friend
secret=999
context=from-isdn
auth=md5
host=dynamic
allow=all



Asterisk2
Code:
register => 999@IP_des_Asterisk1
[999]
username=999
type=friend
auth=md5
secret=999
context=from-isdn
allow=all

[998]
username=998
type=friend
secret=999
context=from-isdn
auth=md5
host=dynamic
allow=all

der 1.6 Asterisk kann sich am 1.4 Asrerisk registrieren
der 1.4 Asterisk bekommt ein REGREJ zurück.

Wenn ich vom 1.4 zum 1.6 rufen will sehe ich

Code:
   -- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/15-bc005e80", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:20] Dial("SIP/15-bc005e80", "IAX2/998/16|300|") in new stack
    -- Called 998/16
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW
   Timestamp: 00019ms  SCall: 01543  DCall: 00000 0.0.0.0:4569]
   VERSION         : 2
   CALLED NUMBER   : 16
   CODEC_PREFS     : (gsm|lpc10|speex|g722|ulaw|g723|g726|alaw|slin)
   CALLING NUMBER  : 998
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    :
   LANGUAGE        : en
   USERNAME        : 998
   FORMAT          : 2
   CAPABILITY      : 4194303
   ADSICPE         : 2
   DATE TIME       : 2011-07-12  15:22:38

Rx-Frame Retry[Yes] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: REJECT
   Timestamp: 00019ms  SCall: 00001  DCall: 01543 [0.0.0.0:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: ACK
   Timestamp: 00019ms  SCall: 01543  DCall: 00001 [0.0.0.0:4569]
    -- Hungup 'IAX2/998-1543'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-dialout-trunk:21] NoOp("SIP/15-bc0045c0", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 0") in new stack
    -- Executing [s@macro-dialout-trunk:22] Goto("SIP/15-bc0045c0", "s-CHANUNAVAIL|1") in new stack
    -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)

wenn ich in die andere richtung rufen möchte sehe ich nur
Code:
    -- Executing [s@macro-dialout-trunk:20] Dial("SIP/15-0000003a", "IAX2/999/15,300,TW") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [s@macro-dialout-trunk:21] NoOp("SIP/15-0000003a", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 20") in new stack
    -- Executing [s@macro-dialout-trunk:22] Goto("SIP/15-0000003a", "s-CHANUNAVAIL,1") in new stack
 
Kleine Frage, warum sollen die sich gegenseitig registrieren wenn doch beide eine feste ip haben?
 
Registrieren deswegen, damit ich sehe ob die server registriert sind gegenseitig.

Ist es ein Nachteil wenn ich die registrieren will gegenseitig?

Aber auch ihne registrierung funkt es leider nicht :(
 
Nachteil nicht unbedingt, aber unnötig wenn eh eine feste ip vorhanden ist.
Wenn das registrieren schon nicht funktioniert, dann kannst du auch keine verbindung aufbauen. Was sagt den der server auf dem registrierte werden soll?
 
auf welchen server?

der Asterisk 1.6 Server kann sich beim im Internet stehenden Asterisk 1.4 Server registrieren (komischer weise egal, welches Secret)
aber der Asterisk 1.4 Server kann sich nicht am Asterisk 1.6 Server registrieren ...
da sagt der A1.4 Server REGREJ
der 1.6 Server zeigt nur an das ein Register versuch

also am Asterisk 1.6
Code:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: REGREQ
   Timestamp: 00014ms  SCall: 15076  DCall: 00000 [IP14:4569]
   USERNAME        : 998
   REFRESH         : 60

Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: ACK
   Timestamp: 00014ms  SCall: 15076  DCall: 00001 [IP14:4569]

und am Asterisk 1.4
Code:
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: REGREQ
   Timestamp: 00009ms  SCall: 11780  DCall: 00000 [A16:4569]
   USERNAME        : 998
   REFRESH         : 60

Rx-Frame Retry[Yes] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: REGREJ
   Timestamp: 00009ms  SCall: 00001  DCall: 11780 [A16:4569]
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: ACK
   Timestamp: 00009ms  SCall: 11780  DCall: 00001 [A16:4569]

Registrieren wollte ich hautpsächlich deshalb, damit ich es auch im FreePBX drinnen habe als Trunk, und dort alles 1:1 verwenden kann ...
 
Kann ich irgnedwo genauer sehe warum sowas nicht geht
ich habe schon ein
Code:
core set verbose 99
core set debug 99
aber sehe trotzdem nicht mehr
 
Ja hab ich schon gesehen ....
Aber noch mal zum anderen Problem - Gibt es beim Asterisk noch eine weitere Möglichkeit ein besseres Debug zu sehen?
Also wo richtig viel mitgeloggt wird, also zb auch WARUM wurde die Registrierung abgelehnt?
Wo finde ich da noch was?
 
hast du debug für die console überhaupt aktiviert?
schau mal in die logger.conf
 
So, habe ich mal aktiviert

wenn ich nun vom ASterisk 1.6 -> 1.4 dann bekomme ich zusätzlich
Code:
   -- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/15-00000000", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:20] Dial("SIP/15-00000000", "IAX2/999/15,300,TW") in new stack
[Jul 13 12:10:38] WARNING[16483]: app_dial.c:1750 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)

nachdem er mir gesagt hat ich soll ein requirecalltoken=no einfügen

bekomm ich nun
öfters ein
Code:
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: REJECT
   Timestamp: 00036ms  SCall: 03298  DCall: 01998 [IP:4569]
   CAUSE           : No authority found
   CAUSE CODE      : 50

was bedeutet das?
 
hab nun auch schon mal sowas bekommen

Code:
[Jul 13 12:47:28] WARNING[16596]: chan_iax2.c:3080 reload_firmware: Error opening firmware directory '/var/lib/asterisk/firmware/iax': No such file or directory
 
Also das ist nun mein Hauptproblem, registreirt sind nun beide server untereinander ... baer was will er mit damit sagen?

bekomme auch nicht mehr mehr mit debug raus ...

Code:
   -- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/15-00000000", "0?customtrunk") in new stack
    -- Executing [s@macro-dialout-trunk:20] Dial("SIP/15-00000000", "IAX2/999/15,300,TW") in new stack
[Jul 13 12:10:38] WARNING[16483]: app_dial.c:1750 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
 
Das ist eine recht allgemeine Fehlermeldung. Die kommt immer, wenn es mit dem Channel ein Problem gibt, also in Deinem Fall zB. der andere Asterisk nicht erreichbar ist oder die Verbindung wegen falscher Authentifikation ablehnt.
 
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.