asterisk sagen, er soll bei bestimmter msn nichts tun

scuba303

Neuer User
Mitglied seit
3 Dez 2004
Beiträge
98
Punkte für Reaktionen
0
Punkte
0
moin,

wie kann ich meinem asterisk am anlagenanschluss beibringen, dass er bei einer bestimmten msn nichts tut? bisher fängt mein dialplan alle gespräche mit endnummer 10-29 auf.

exten => _${STAMMNUMMER}.,1,Set(CALLER=0${CALLERIDNUM})
exten => _${STAMMNUMMER}.,2,SetCallerID(${CALLER})
exten => _${STAMMNUMMER}.,3,GoTo(${EXTEN:${LEN(${STAMMNUMMER})}},1)
exten => _${STAMMNUMMER}.,4,Hangup

exten => _[1-2].,1,Set(Language()=de)
exten => _[1-2].,2,Set(PHONEEXTEN=${EXTEN})
exten => _[1-2].,3,ChanIsAvail(SIP/${PHONEEXTEN}&CAPI/g2/${PHONEEXTEN})
exten => _[1-2].,4,Dial(SIP/${PHONEEXTEN}&CAPI/g2/${PHONEEXTEN},50,t)
exten => _[1-2].,6,Hangup

ist im prinzip das beispiel aus dem asterisk buch.
jetzt hab ich aber nopch ein hylafax auf der maschine laufen. und die faxnummer ist 11. entweder bräuchte ich was in richtung wenn 11 mach nichts oder eine condition in richtung, wenn nicht 11, dann mach. vom php programmieren kenn ich ja noch != für wenn nicht gleich. gibt es sowas auch bei asterisk?
 
Code:
exten => 11,1,NoOp
 
also NoOp scheint schon mal von der theorie her mein freund zu sein.

ein show dialplan local bringt folgendes:

[ Context 'local' created by 'pbx_config' ]
'0' => 1. Set(PHONEEXTEN=${ZENTRALE}) [pbx_config]
2. ChanIsAvail(SIP/${PHONEEXTEN}) [pbx_config]
3. Dial(SIP/${PHONEEXTEN}||t) [pbx_config]
4. Hangup() [pbx_config]
'11' => 1. NoOp() [pbx_config]
'40' => 1. Ringing() [pbx_config]
2. Wait(1) [pbx_config]
3. VoicemailMain() [pbx_config]
'_0.' => 1. SetCallerID(${VORWAHL}${STAMMNUMMER}${CALLERIDNUM}|a) [pbx_config]
2. Dial(CAPI/g1/${EXTEN:1}|50|tr) [pbx_config]
3. Hangup() [pbx_config]
'_169298.' => 1. Set(CALLER=0${CALLERIDNUM}) [pbx_config]
2. SetCallerID(${CALLER}) [pbx_config]
3. GoTo(${EXTEN:${LEN(${STAMMNUMMER})}}|1) [pbx_config]
4. Hangup() [pbx_config]
'_[1-2].' => 1. Set(Language()=de) [pbx_config]
2. Set(PHONEEXTEN=${EXTEN}) [pbx_config]
3. ChanIsAvail(SIP/${PHONEEXTEN}&CAPI/g2/${PHONEEXTEN}) [pbx_config]
4. Dial(SIP/${PHONEEXTEN}&CAPI/g2/${PHONEEXTEN}|50|t) [pbx_config]
6. Hangup() [pbx_config]


also reihenfolge scheint zu stimmen. trotzdem sucht er nach der sip extension 11, wenn ich capi debug laufen habe.
 
mach mal alle Pattern gleichlang (2-stellig)

Code:
exten => _[1-2][COLOR="Red"]X[/COLOR].

Das mit dem noOp war natürlich nur ein Beispiel - um zu zeigen, wie Du die einzelne extension abfangen kannst.
 
betateilchen schrieb:
Code:
exten => _[1-2][COLOR="Red"]X[/COLOR].

muss ich da nicht den . weglassen? also

Code:
exten => _[1-2][COLOR="Red"]X[/COLOR]

draus machen?
 
wenn die Nummern nur 2-stellig sind, kannst Du den Punkt weglassen.
 
also irgendwie will das ganze nicht so, wie ich das gerne hätte. jetzt versuch ich grade einen anderen ansatz:

Code:
exten => _${STAMMNUMMER}.,1,Set(CALLER=0${CALLERIDNUM}) ;
exten => _${STAMMNUMMER}.,2,SetCallerID(${CALLER})
exten => _${STAMMNUMMER}.,3,GotoIf($["${EXTEN:${LEN(${STAMMNUMMER})}}" != "11"]?4)
exten => _${STAMMNUMMER}.,4,GoTo(${EXTEN:${LEN(${STAMMNUMMER})}},1)
exten => _${STAMMNUMMER}.,5,Hangup

also schon das ganze an der weiterverarbeitung hindern. will er aber auch nicht. bin mir leider auch nicht ganz sicher, ob ich != an der stelle arbeiten kann.
 
was Du da zusammenschräubelst ist ziemlich absurd.

Noch einfacher wie ich Dir das (Prinzip) eingangs dieses Threads versucht habe zu erklären, kannst Du Dein Problem nicht lösen.

Vielleicht solltest Du mal eine Lesepause machen und Dich mit den Prinzipien des Dialplans vertraut machen. Da kommst Du sicher schneller zum Erfolg.
 
ok.. hab ich getan... ;-)
nächste lösungsansatz wäre für mich der hier:

Code:
STAMMNUMMER=16435345

[local]
exten => _${STAMMNUMMER}0,1,Set(CALLER=0${CALLERIDNUM}) ;Null vor die callerid schreiben,damit rueckrufliste klappt
exten => _${STAMMNUMMER}0,2,SetCallerID(${CALLER})
exten => _${STAMMNUMMER}0,3,GoTo(${EXTEN:${LEN(${STAMMNUMMER})}},1)
exten => _${STAMMNUMMER}0,4,Hangup

exten => _${STAMMNUMMER}1[2-9],1,Set(CALLER=0${CALLERIDNUM}) ;Null vor die callerid schreiben,damit rueckrufliste klappt
exten => _${STAMMNUMMER}1[2-9],2,SetCallerID(${CALLER})
exten => _${STAMMNUMMER}1[2-9],3,GoTo(${EXTEN:${LEN(${STAMMNUMMER})}},1)
exten => _${STAMMNUMMER}1[2-9],4,Hangup

exten => _${STAMMNUMMER}2.,1,Set(CALLER=0${CALLERIDNUM}) ;Null vor die callerid schreiben,damit rueckrufliste klappt
exten => _${STAMMNUMMER}2.,2,SetCallerID(${CALLER})
exten => _${STAMMNUMMER}2.,3,GoTo(${EXTEN:${LEN(${STAMMNUMMER})}},1)
exten => _${STAMMNUMMER}2.,4,Hangup

sollte doch eigentlich rufnummernblock 12-19 berücksichtuigen, aber die 11 aussen vorlassen, oder?
mich irritiert einfach das auf der cli:

Code:
ul 25 19:16:38 WARNING[6468]: chan_sip.c:1973 create_addr: No such host: 1643534511
Jul 25 19:16:38 WARNING[6468]: chan_sip.c:1973 create_addr: No such host: 1643534511
Jul 25 19:16:38 NOTICE[6468]: app_dial.c:1029 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
Jul 25 19:16:39 WARNING[6479]: chan_sip.c:1973 create_addr: No such host: 11643534511
ist das nur eine einfache bemerkung am rande von * oder fühlt er sich für die msn verantwortlich?
 
gib doch in der capi.conf (sofern das die datei deiner wahl ist) die nummern an, auf die überhaupt reagiert werden soll?! Hab es noch nicht ausprobiert. Aber dafür ist es wohl gedacht.

Code:
[ISDN1]
incomingmsn = n1, n2, n3, n4 ...
 
Ruad schrieb:
gib doch in der capi.conf (sofern das die datei deiner wahl ist) die nummern an, auf die überhaupt reagiert werden soll?! Hab es noch nicht ausprobiert. Aber dafür ist es wohl gedacht.

Code:
[ISDN1]
incomingmsn = n1, n2, n3, n4 ...

stimmt.. da war ich mal wieder blind unterwegs. probier ich nachher mal aus. ;-)
 
Kostenlos!

Statistik des Forums

Themen
248,872
Beiträge
2,303,476
Mitglieder
378,532
Neuestes Mitglied
Nik320