[Gelöst] Asterisk Extention mit SIP-Load

WaxWeazle

Neuer User
Mitglied seit
6 Okt 2006
Beiträge
43
Punkte für Reaktionen
2
Punkte
8
Naben zusammen,

ich versuche seit ein paar Tagen bei mir zu Hause Asterisk in betrieb zu nehmen, und scheitere an einem Dialplan.
der sieht wie folgt aus:

exten => _1234567,n,Goto(dial-sip,10)

und es funktioniert ums verrecken nicht.

folgendes hab ich auch ausprobiert:

exten => 0049987651234567,n,Goto(dial-sip,10)

Nix funktioniert.

Mache ich ein "exten => s,n,Goto(dial-sip,10)" draus, geht es, aber dann reagiert die 10 auf alle Anrufe.

Ich habe einen IAX-Trunk zu SIP-Load mit 2 Rufnummern, und möchte die natürlich auseinander halten.
Kann mir da jemand helfen?

Danke schön
 
Zuletzt bearbeitet:
Mach zum Test eine exten => _X.,1,Noop(${EXTEN}) und schau im CLI (asterisk -rvvv), was in EXTEN steht.
 
So.

ich konnte dann mal endlich mal testen. Leider funktionierte dein String nicht. Kam nur Tut Tut Tut... und keine Ausgabe im asterisk
Ich habe mal das reingekloppt:

Code:
exten => s,1,Answer
exten => s,2,Noop(${EXTEN})
exten => s,3,Noop(${CALLERID})

und rauskommen tut:

Code:
Connected to Asterisk 13.6.0~dfsg-0~ppa1 currently running on sip01 (pid = 13313)
    -- Accepting AUTHENTICATED call from 188.246.0.82:4569:
    --        > requested format = alaw,
    --        > requested prefs = (alaw|ulaw|gsm),
    --        > actual format = gsm,
    --        > host prefs = (gsm|ilbc|speex|g729|g723|alaw|ulaw),
    --        > priority = mine
    -- Executing [s@from-sipload:1] Answer("IAX2/iaxport-8156", "") in new stack
    -- Executing [s@from-sipload:2] NoOp("IAX2/iaxport-8156", "s") in new stack
    -- Executing [s@from-sipload:3] NoOp("IAX2/iaxport-8156", "") in new stack
    -- Auto fallthrough, channel 'IAX2/iaxport-8156' status is 'UNKNOWN'
    -- Hungup 'IAX2/iaxport-8156'
sip01*CLI>

ist jetzt nicht so richtig die Extension drin...

iax2 set debug on bringt

Code:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: HANGUP 
   Timestamp: 00011ms  SCall: 10211  DCall: 00000 1.2.3.4:4569
   CAUSE CODE      : 0

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW    
   Timestamp: 00012ms  SCall: 02275  DCall: 00000 1.2.3.4:4569
   VERSION         : 2
   CALLED NUMBER   : s
   CODEC_PREFS     : (alaw|ulaw|gsm)
   CALLING NUMBER  : 017112345678
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    : +4917112345678
   LANGUAGE        : en
   FORMAT          : 8
   FORMAT2         : alaw
   CAPABILITY      : 14
   CAPABILITY2     : Unknown
   ADSICPE         : 2
   DATE TIME       : 2015-11-07  20:23:58
   VARIABLE        : X-PTY-DNID=00498912345678
   VARIABLE        : P-Called-Party-Id=tel:00498912345678

Assigned (0x7fc760000a30)X-PTY-DNID to (0x7fc760000a3b)00498912345678
Assigned (0x7fc7600013b0)P-Called-Party-Id to (0x7fc7600013c2)tel:00498912345678
Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: CTOKEN 
   Timestamp: 00012ms  SCall: 00001  DCall: 02275 1.2.3.4:4569
   CALLTOKEN       : 51 bytes

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW    
   Timestamp: 00031ms  SCall: 02275  DCall: 00000 1.2.3.4:4569
   VERSION         : 2
   CALLED NUMBER   : s
   CODEC_PREFS     : (alaw|ulaw|gsm)
   CALLING NUMBER  : 017112345678
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    : +4917112345678
   LANGUAGE        : en
   FORMAT          : 8
   FORMAT2         : alaw
   CAPABILITY      : 14
   CAPABILITY2     : Unknown
   ADSICPE         : 2
   DATE TIME       : 2015-11-07  20:23:58
   VARIABLE        : X-PTY-DNID=00498912345678
   VARIABLE        : P-Called-Party-Id=tel:00498912345678
   CALLTOKEN       : 51 bytes

Assigned (0x7fc768000cc0)X-PTY-DNID to (0x7fc768000ccb)00498912345678
Assigned (0x7fc768001ee0)P-Called-Party-Id to (0x7fc768001ef2)tel:00498912345678
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: AUTHREQ
   Timestamp: 00002ms  SCall: 06530  DCall: 02275 1.2.3.4:4569
   AUTHMETHODS     : 3
   CHALLENGE       : \x31\x32\x34\x32\x39\x32\x30\x36\x35
   USERNAME        : iaxport

Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: AUTHREP
   Timestamp: 00050ms  SCall: 02275  DCall: 06530 1.2.3.4:4569
   MD5 RESULT      : f5fc40210bf2cd47e147e7e0f34909eb

    -- Accepting AUTHENTICATED call from 1.2.3.4:4569:
    --        > requested format = alaw,
    --        > requested prefs = (alaw|ulaw|gsm),
    --        > actual format = gsm,
    --        > host prefs = (gsm|ilbc|speex|g729|g723|alaw|ulaw),
    --        > priority = mine
Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: ACCEPT 
   Timestamp: 00021ms  SCall: 06530  DCall: 02275 1.2.3.4:4569
   FORMAT          : 2
   FORMAT2         : gsm

ich hab das Gefühl, SIPLoad kommt nicht mit den nötigen Parametern um die Ecke, oder ich werte den IAX-Trunk falsch aus.

Danke schön
 
EXTEN gibt er Dir ja korrekt zurück, in diesem Falle s.
Spannend ist der Debug. So wie es aussieht, liefert sipload die Rufnummer, für die das Gespräch bestimmt ist (und nach der Du dann verteilen könntest) tatsächlich mit:

VARIABLE : X-PTY-DNID=00498912345678
VARIABLE : P-Called-Party-Id=tel:00498912345678

deuten so etwas an.

Ändere mal Deinen Kontext auf:

Code:
exten => s,1,Answer
exten => s,n,Noop(${X-PTY-DNID})
exten => s,n,Noop(${P-Called-Party-Id})
exten => s,n,Noop(${CALLERID(num)})

und poste das Ergebnis.
Hast Du bei sipload meherer Rufnummern, oder nur eine ?
 
HiHo

ich bin schon weiter. Genau die Idee hatte ich auch, und folgendes funktioniert nun:

exten => s,n,ExecIf($["${IAXVAR(X-PTY-DNID)}" = "00498912345678"]?Dial(SIP/100&SIP/101&SIP/200&SIP/201))

Jetzt kämpfe ich mit den DialOut-Rules. Sie scheinen zu funktionieren, aber der Server bei SIPLoad zickt.
Ich werde da morgen mal anrufen.

Danke nochmal.
 
Hallo,

ich schließe mich hier mal an. Ebenfalls gleicher Provider und gleiche Situation: Eingehende Rufe kommen nicht rein.

Bei IAX2 SET DEBUG ON sehe ich die Variable X-PTY-DNID, welche die zugewiesene Festnetznummer ist. Diese habe ich in die extensions.conf eingetragen:
exten => s,n,ExecIf($["${IAXVAR(X-PTY-DNID)}" = "0049891234567"]?Dial(SIP/1000&SIP/3000))

Funktioniert leider nicht. Ich erhalte ein Besetzt-Zeichen. Im normalen Debug taucht nichts auf ...

Kann mir jemand helfen?

Danke und Gruß,
Christoph
 
Wenn Du im Debug ein RX siehst, müsste mit verbose 5 auch so was passieren. Was steht bei Dir denn in CALLED NUMBER?
 
Moin,
mit verbose 5 sehe ich auf der Console nichts. Ich sehe nur im IAX2 Debug etwas.

Bei CALLED NUMBER steht 0049VORWAHLRUFNUMMER, also am Beispiel der Nummer 1234567 aus München steht dort 0049891234567.
Bei CALLING NUMBER steht 01731234567 ... also ohne 0049.
 
Zumindest ein extension not found in context sollte auftauchen, aber egal.

Anders als WaxWeazle brauchst Du eine passende exten=>0049891234567 oder eine universelle exten=>_X.
 
Wie gesagt ... es taucht nichts auf. Das wundert mich.

Hier aus der extensions.conf:
Code:
[sipload_in]
exten => 0049891234567,1,ExecIf($["${IAXVAR(X-PTY-DNID)}" = "0049891234567"]?Dial(SIP/1000))
exten => 0049891234567,2,Hangup
Funktioniert nicht.

Folgendes funktioniert auch nicht:
Code:
[sipload_in]
exten => 0049891234567,1,Dial(SIP/1000)
exten => 0049891234567,2,Hangup

Und mit "s" anstatt der "0049..." Funktioniert es auch nicht.

Hier die iax.conf:
Code:
[general]
language=de
port=4569
disallow=all
allow=ulaw
allow=alaw
allow=g726
allow=gsm
tos=lowdelay
context=default 

register => iax11223344:[email protected]

[sipload_out]
type=peer
username=iax11223344
secret=geheimespasswort
host=iax.iaxport.de

[sipload_in]
type=user
host=iax.iaxport.de
username=iax11223344
secret=geheimespasswort
peercontext=sipload_in
context=sipload_in
notransfer=yes

Vielleicht ist in der iax.conf etwas falsch? Habe bisher nur Erfahrungen mit SIP.

Danke und Gruß,
Christoph
 
@Christoph, kann es sein, dass eingehende Anrufe bei dir in [sipload_out] landen und, da hier kein dialplan-context definiert ist, sucht Asterisk im default Kontext nach einer passenden Extension. Je nach Asterisk-Version muss ggf. die Reihenfolge geändert werden. Das Verhalten müsstest du prinzipiell auf der Konsole beobachten können.

VG R.
 
Moin,

wie bereits erwähnt: Auf der Konsole passiert gar nichts. Ich habe sie gestartet mit "asterisk -vvvvvr". Wenn ich die Nummer anrufe, sehe ich nichts. Ich sehe auf der Konsole nur etwas, wenn ich vorher IAX2 SET DEBUG ON eingebe.

Gruß,
Christoph
 
Hallo,

ich habe den Asterisk noch mal in einer virtuellen Umgebung neu aufgesetzt. Es bleibt so, dass ich weiterhin nichts auf der Konsole sehe, wenn ich anrufe.
 
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.