Keine Anrufe innerhalb und ausserhalb von Aserisk

IBozkurt

Neuer User
Mitglied seit
6 Sep 2010
Beiträge
48
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe nun mehrere VoIP Accounts über meinen Asterisk Server laufen, kann momentan aber nur mit einem rausrufen aber von draussen auf keinem meiner Extensions angerufen werden. Ich kann lediglich mit der Rufnummer 061513978787 rausrufen aber nicht von draussen angerufen werden (zwischenzeitlich konnte ich auch von draussen angerufen werden). Meine angemeldeten VoIP Accounts registrieren sich auf zwei verschiedenen Registraren (einmal tel.t-online.de und einmal bei einem anderen Anbieter).
Wobei die Kontexte "abgehend1 - abgehend4" in meiner extension.conf zu Zwecken der automatischen Anrufe mit dem originate Befehl erstellt wurden.
Woran kann das liegen?!

Code:
Meine Extensions.conf:

[abgehend]
exten => _XXX.,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _XXX.,n,Monitor(wav,${CALLFILENAME},m)
exten => _XXX.,n,Set(CALLERID(number)=061513978787)
exten => _XXX.,n,Set(CALLERID(name)=061513978787)
exten => _XXX.,n,Dial(SIP/${EXTEN}@tel.t-online.de)
exten => _XXX.,n,Congestion()

[abgehend2]
exten => _XXX.,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _XXX.,n,Monitor(wav,${CALLFILENAME},m)
exten => _XXX.,n,Set(CALLERID(number)=03084318082)
exten => _XXX.,n,Set(CALLERID(name)=03084318082)
exten => _XXX.,n,Dial(SIP/${EXTEN}@tel.t-online.dezwei)
exten => _XXX.,n,Congestion()

[abgehend3]
exten => _XXX.,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _XXX.,n,Monitor(wav,${CALLFILENAME},m)
exten => _XXX.,n,Set(CALLERID(number)=03084318081)
exten => _XXX.,n,Set(CALLERID(name)=03084318081)
exten => _XXX.,n,Dial(SIP/${EXTEN}@tel.t-online.dedrei)
exten => _XXX.,n,Congestion()

[abgehend4]
exten => _XXX.,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _XXX.,n,Monitor(wav,${CALLFILENAME},m)
exten => _XXX.,n,Set(CALLERID(number)=061513979937)
exten => _XXX.,n,Set(CALLERID(name)=061513979937)
exten => _XXX.,n,Dial(SIP/${EXTEN}@tel.t-online.devier)
exten => _XXX.,n,Congestion()


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

exten => 2000,1,Set(DB(obst/apfel)=4)
exten => 2000,n,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)
exten => 2002,1,Dial(SIP/2002)
exten => 2003,1,Dial(SIP/2003)
exten => 2004,1,Dial(SIP/2004)
exten => 2005,1,Dial(SIP/2005)

exten => _0[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.de)
exten => _0[1-9].,4,Congestion()

exten => _0[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.dezwei)
exten => _0[1-9].,4,Congestion()

exten => _0[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.dedrei)
exten => _0[1-9].,4,Congestion()

exten => _0[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.devier)
exten => _0[1-9].,4,Congestion()


exten => 061518004631,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => 061518004631,n,Monitor(wav,${CALLFILENAME},m)
exten => 061518004631,n,Dial(SIP/${EXTEN}@tel.t-online.de)
exten => 061518004631,n,Congestion()


[von-voip-provider]
exten => 061513978787,1,Set(DB(obst/apfel)=2)
exten => 061513978787,n,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => 061513978787,n,Monitor(wav,${CALLFILENAME},m)
exten => 061513978787,n,Dial(SIP/2000)
exten => 061513978787,n,Congestion()


[von-voip-providerzwei]
exten => 03084318082,1,Set(DB(obst/apfel)=3)
exten =>03084318082,n,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => 03084318082,n,Monitor(wav,${CALLFILENAME},m)
exten => 03084318082,n,Dial(SIP/2005)
exten => 03084318082,n,Congestion()

[von-voip-providerdrei]
exten => 03084318081,1,Set(DB(obst/apfel)=4)
exten => 03084318081,n,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => 03084318081,n,Monitor(wav,${CALLFILENAME},m)
exten => 03084318081,n,Dial(SIP/2004)
exten => 03084318081,n,Congestion()

[von-voip-providervier]
exten => 061513979937,1,Set(DB(obst/apfel)=5)
exten => 061513979937,n,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => 061513979937,n,Monitor(wav,${CALLFILENAME},m)
exten => 061513979937,n,Dial(SIP/2001)
exten => 061513979937,n,Congestion()

Meine Sip.conf:

[general]
port=5060
bindaddr=0.0.0.0



;
;
maxexpirey=240
defaultexpirey=240
register => 061513978787:********:[email protected]
register => 03084318082:********:[email protected]/
register => 03084318081:********:[email protected]/
register => 061513979937:*******:[email protected]


[2000]
type=friend
secret=1234
username=2000
context=meine-telefone
host=dynamic
canreinvite=no

[2001]
type=friend
secret=1234
username=2001
context=meine-telefone
host=dynamic

[2002]
type=friend
secret=1234
username=2002
context=isdnkarte
host=dynamic

[2003]
type=friend
secret=1234
username=2003
context=meine-telefone
host=dynamic

[2004]
type=friend
secret=1234
username=2004
context=meine-telefone
host=dynamic

[2005]
type=friend
secret=1234
username=2005
context=meine-telefone
host=dynamic


[tel.t-online.de]
type=peer
context=von-voip-provider
username=ipone-qm-4
fromuser=061513978787
secret=*********
host=tel.t-online.de
fromdomain=tel.t-online.de
qualify=yes
insecure=port,invite
nat=yes
canreinvite=no

[tel.t-online.dezwei]
type=peer
context=von-voip-providerzwei
username=tvil0_tr_20100305_02
fromuser=03084318082
secret=********
host=tel2.ver.sul.t-online.de
fromdomain=ver.sul.t-online.de
qualify=yes
insecure=port,invite
nat=yes
canreinvite=no

[tel.t-online.dedrei]
type=peer
context=von-voip-providerdrei
username=tvil0_tr_20100305_01
fromuser=03084318081
secret=********
host=tel2.ver.sul.t-online.de
fromdomain=ver.sul.t-online.de
qualify=yes
insecure=port,invite
nat=yes
canreinvite=no

[tel.t-online.devier]
type=peer
context=von-voip-providervier
username=ipone-qm-4
fromuser=061513979937
secret=*******
host=tel.t-online.de
fromdomain=tel.t-online.de
qualify=yes
insecure=port,invite
nat=yes
canreinvite=no
 
Woher soll Asterisk wissen, welchen Account er verwenden soll, wenn Du vier mal das gleiche Pattern _0[1-9]. jeweils mit gleichen Prioritäten definierst? Bei einem "dialplan reload" wirst Du diesbezüglich auch entsprechende Warnings bekommen.

Bei den ankommenden Anrufen wäre ein "sip show registry" und ein CLI Auszug eines Anrufversuchs interessant.
 
Danke für die schnelle Antwort!

Also ich habe in der extensions.conf die entsprechenden Änderungen gemacht siehe unteren Code. Nach einem Anruf mit der Extension 2005 (in der die Rufnummer 03084318082 eingetragen ist) an die Extension 2000 (in der die Rufnummer 061513978787 eingetragen ist) kommt folgende Fehlermeldung aus der CLI:

Code:
 == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [061513978787@meine-telefone:4] Congestion("SIP/2005-00000002", "") in new stack
  == Spawn extension (meine-telefone, 061513978787, 4) exited non-zero on 'SIP/2005-00000002'
[Nov  8 16:27:32] NOTICE[1645]: chan_sip.c:21479 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2005
       > doing dnsmgr_lookup for 'tel.t-online.de'
       > ast_get_srv: SRV lookup for '_sip._UDP.tel.t-online.de' mapped to host tas001.voip.t-ipnet.de, port 5060
       > doing dnsmgr_lookup for 'tel2.ver.sul.t-online.de'
       > ast_get_srv: SRV lookup for '_sip._UDP.tel2.ver.sul.t-online.de' mapped to host tas001.ver.sul.t-online.de, port 5060
       > doing dnsmgr_lookup for 'tel2.ver.sul.t-online.de'
       > ast_get_srv: SRV lookup for '_sip._UDP.tel2.ver.sul.t-online.de' mapped to host tas001.ver.sul.t-online.de, port 5060
       > doing dnsmgr_lookup for 'tel.t-online.de'
       > ast_get_srv: SRV lookup for '_sip._UDP.tel.t-online.de' mapped to host tas001.voip.t-ipnet.de, port 5060
[Nov  8 16:29:33] NOTICE[1645]: chan_sip.c:21479 handle_request_subscribe: Received SIP subscribe for peer without mailbox: 2005
    -- Unregistered SIP '2005'
    -- Registered SIP '2005' at 10.10.10.86 port 13847
       > Saved useragent "X-Lite 4 release 4.0 stamp 58832" for peer 2005
  == Using SIP RTP CoS mark 5
    -- Executing [061513978787@meine-telefone:1] Set("SIP/2005-00000004", "CALLFILENAME=--061513978787") in new stack
    -- Executing [061513978787@meine-telefone:2] Monitor("SIP/2005-00000004", "wav,--061513978787,m") in new stack
    -- Executing [061513978787@meine-telefone:3] Dial("SIP/2005-00000004", "SIP/[email protected]") in new stack
  == Using SIP RTP CoS mark 5
    -- Called [email protected]
    -- Got SIP response 400 "Fehler: Befehl nicht korrekt (SIP Befehl nicht RFC3261-konform) (34)" back from 217.0.16.90
    -- SIP/tel.t-online.de-00000005 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [061513978787@meine-telefone:4] Congestion("SIP/2005-00000004", "") in new stack
  == Spawn extension (meine-telefone, 061513978787, 4) exited non-zero on 'SIP/2005-00000004'


Code:
 exten => _0[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.de)
exten => _0[1-9].,4,Congestion()

exten => _20[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _20[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _20[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.dezwei)
exten => _20[1-9].,4,Congestion()

exten => _30[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _30[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _30[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.dedrei)
exten => _30[1-9].,4,Congestion()

exten => _40[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _40[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _40[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.devier)
exten => _40[1-9].,4,Congestion()
 
Wenn ich mich recht erinnere, hatten wir das Problem schon mal, und die Lösung war vor dem Dial CallerID(num) und CallerID(name) zu setzen, so wie Du das in Deinen [abgehend...] Contexten hast.

Irgendwie bleibt mir die Logik Deines Dialplans verborgen, aber so lange es funktioniert...

Dir ist klar, dass Du durch diese Änderung wieder Überschneidungen im Dialplan hast? Einmal _20[1-9]. und einmal 2000 bis 2005, wobei Du Beim Wählen einer der zuletzt genannten Nummern auf Grund longest match diese direkt erwischen wirst.
 
Danke nochmals für die Antwort.

Das Problem welches durch Setzen der CallerID(num) und CallerID(name) gelöst wurde war ein etwas anderes, da ich diese Kontexte erstellt habe (mit diese Kontexte meine ich "abgehend1 - abgehend4") um mit einem Shell-Skript (über den "originate-Befehl") einen automatischen Anruf zu generieren.
Die Meldung " -- Got SIP response 400 "Fehler: Befehl nicht korrekt (SIP Befehl nicht RFC3261-konform) (34)" back from 217.0.16.90" erfolgt weil im Displaynamen eines eingetragenen Softphones als Displayname nicht die eigentliche Rufnummer eingetragen wurde - das Eintragen der Displaynamen in Softphonekennungen mache ich seitdem immer.
Im Endeffekt das selbe Problem aber in einem anderen Nutzungszusammenhang!

Trotzdem kommt untere Fehlermeldung beim Anrufen mit den Softphones in denen die Extensions eingetragen sind.

Wie kann ich jetzt in der extensions.conf unterscheiden mit welcher Kennung ich gerade Anrufe?!
Also wenn ich mit der Extension 2000 (in der die Rufnummer 061513978787 eingetragen habe) die Rufnummer 03084318082 (die somit die Extension 2005 anspricht) kann ich weiterhin eingetragen lassen
exten => _0[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.de)
exten => _0[1-9].,4,Congestion()

aber wenn ich nun mit der Extension 2005 die 2000 anrufen möchte was sollte da am besten stehen damit das nicht kollidiert mit den anderen Eintragungen; also nicht
exten => _20[1-9].,1,Set(CALLFILENAME=${TIMESTAMP}-${CALLERIDNUM}-${EXTEN})
exten => _20[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _20[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.dezwei)
exten => _20[1-9].,4,Congestion() ?!
 
Weil ein Unterschied läßt sich ja durch Eintragung von exten => _2[0-9] nicht bewerkstelligen.
 
Im Normalfall wählt man die abgehende CallerID bzw. Leitung abhängig von der Nebenstelle, zB. so:
Code:
exten => _0[1-9].,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(number)}-${EXTEN})
exten => _0[1-9].,2,Monitor(wav,${CALLFILENAME},m)
exten => _0[1-9]./2000,3,Dial(SIP/${EXTEN}@tel.t-online.dezwei)
exten => _0[1-9]./2001,3,Dial(SIP/${EXTEN}@tel.t-online.dedrei)
exten => _0[1-9]./2002,3,Dial(SIP/${EXTEN}@tel.t-online.devier)
exten => _0[1-9].,3,Dial(SIP/${EXTEN}@tel.t-online.de)
Btw, so wäre die Priorität 1 übrigens 1.6-tauglich, Deine Version ist veraltet.

Dein Dialplan wird so grundsätzlich funktionieren, ich wollte es nur gesagt haben. Wenn Du 2005 wählst, wird die exten=>2005,1 greifen, wegen longest match. Und zB. 2012345 wird wie gewünscht über exten=>_20[1-9].,1 verarbeitet.

Nur eins ist mir grad noch aufgefallen, die 2 muss beim Wählen dann weg.
exten => _20[1-9].,3,Dial(SIP/${EXTEN:1}@tel.t-online.dezwei)

Wegen der Fehlermeldung beim rauswählen kann ich Dir dann leider nicht weiterhelfen. Evtl. könntest Du mal beim T Support nachfragen.

Hast Du eigentlich schon mal einen CLI Auszug eines ankommenden Gesprächs gemacht? Das war ja eins Deiner ursprünglichen Probleme.
 
Also wenn ich nun die Rufnummmer 061513978787 von draussen anrufe wird ein Congratulations File abgespielt und Asterisk loggt anstatt dass eine Extension klingelt:

tel.t-online.de/ipone-qm- 217.0.17.26 N 5060 OK (28 ms)
ver.sul.t-online.de/tvil0 217.89.21.9 N 5060 OK (27 ms)
8 sip peers [Monitored: 2 online, 0 offline Unmonitored: 6 online, 0 offline]
*CLI> == Using SIP RTP CoS mark 5
-- Executing [s@default:1] Wait("SIP/tel.t-online.de-0000000a", "1") in new stack
-- Executing [s@default:2] Answer("SIP/tel.t-online.de-0000000a", "") in new stack
-- Executing [s@default:3] Set("SIP/tel.t-online.de-0000000a", "TIMEOUT(digit)=5") in new stack
-- Digit timeout set to 5.000
-- Executing [s@default:4] Set("SIP/tel.t-online.de-0000000a", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [s@default:5] BackGround("SIP/tel.t-online.de-0000000a", "demo-congrats") in new stack
-- <SIP/tel.t-online.de-0000000a> Playing 'demo-congrats.gsm' (language 'en')
== Spawn extension (default, s, 5) exited non-zero on 'SIP/tel.t-online.de-0000000a'
 
Mach mal bei den register am Ende überall einen / und dahinter nochmal die Rufnummer. Außerdem hast Du gleiche hosts mit verschiedenen Contexten, das nimmt Asterisk nicht. Mach überall context=von-voip-provider und fasse die Contexte in der extensions.conf zu einem zusammen. Die Unterscheidung erfolgt dann anhand der gerufenen Nummer.
 
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.