[Problem] CID Übermittlung an ISDN geht nicht richtig (Dt. Telekom)

bofh42

Neuer User
Mitglied seit
26 Apr 2015
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Moin,

erstmal das Setup:

ISDN - beroFix-Box -(SIP)- Asterisk -(SIP)- ATAs


OS Version:Linux DiskStation_Syy 3.2.40 #3827 SMP Tue Feb 11 19:48:28 CST 2014 x86_64 GNU/Linux synology_cedarview_1513+

Asterisk Build:Asterisk/1.8.13.1
Asterisk GUI-version : 2.1.0-rc1


In der beroFix-Box ist eingestellt

Advanced Configuration
EC
EC tail length
dnumplanunknown
onumplansubscriber
screeningyes
presentationno
Bearer SPEECH
Call deflection
CLIR on OAD
Dialplan Sourceoad
Caller ID Mapping
oad (Caller ID)new_source
oad2 (second Caller ID)
qsigname
Redirected Nr


(Ist ein BRI von der DT. Telekom, mit 8 MSNs, also Mehrgerätenanschluß)

Telefonieren geht rein und raus wunderbar, eingehend wird auch die CID und DID übermittelt, alles bestens.

Ausgehend kann ich jedoch nur auf eine einzige Art FEST eine der MSNs als CID/OAD einstellen, genaue Beschreibung siehe unten. Die Einstellungen in der beroFix sind aber augenscheinlich richtig, denn sonst könnte ich das ja gar nicht einstellen in Asterisk.

Jetzt das Problem:

Nun das Problem:
es wird nur die CID übermittelt, die ich bei "outgoing call rules" in der Asterisk-GUI eintrage, die überschreibt nämlich alles, was an Variablen bei den Users oder sonstwo gesetzt wird. Das klappt auch - was ich in CID für den Trunk, für den User oder generell eintrage, wird ignoriert.


Das spielt sich alles in der extensions.conf ab (auch die CID-Outgoings für die User, keine Ahnung, warum Asterisk-GUI das so macht)


[CallingRule_outdefault]
exten = _0X.,1,Macro(trunkdial-failover-0.3,${trunk_1}/${EXTEN:0},,trunk_1,,Mein Name <924XXX>)

Das geht so, aber es wird natürlich IMMER 924XXXX als CID/OAD gesetzt, egal, von welchem User aus telefoniert wird. Das will ich aber gar nicht, es soll immer das gesendet werden, was beim User eingetragen ist.



Wenn ich dort jedoch nichts setze, dann sollten die Settings für
- einzelnen User
- wenn nicht vorhanden, für den Trunk,
- wenn nicht vorhanden aus general Options genommen werden


Werden sie aber nicht.


Egal, was ich dort dann eintrage, es wird entweder nichts übermittelt (oder was falsches, jedenfalls setzt die Telekom dann die Default MSN outgoing)


Das aufgerufene Makro stammt aus der Asterisk-Installation selbst, gehört vermutlich zur Asterisk-GUI, das habe ich nicht angefasst - kann aber natürlich trotzdem falsch sein)


[macro-trunkdial-failover-0.3]
exten = s,1,GotoIf($[${LEN(${FMCIDNUM})} > 6]?1-fmsetcid,1)
exten = s,n,GotoIf($[${LEN(${GLOBAL_OUTBOUNDCIDNAME})} > 1]?1-setgbobname,1)
exten = s,n,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} > 2]?${CID_${CALLERID(num)}}:)})
exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${ARG5})} > 2]?${ARG5}:)})
exten = s,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?1-dial,1)
exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${CID_${ARG3}})} > 6]?${CID_${ARG3}}:${GLOBAL_OUTBOUNDCID})})
exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${ARG5})} > 2]?${ARG5}:)})
exten = s,n,Goto(1-dial,1)
exten = 1-setgbobname,1,Set(CALLERID(name)=${GLOBAL_OUTBOUNDCIDNAME})
exten = 1-setgbobname,n,Goto(s,3)
exten = 1-fmsetcid,1,Set(CALLERID(num)=${FMCIDNUM})
exten = 1-fmsetcid,n,Set(CALLERID(name)=${FMCIDNAME})
exten = 1-fmsetcid,n,Goto(s,4)
exten = 1-dial,1,Dial(${ARG1})
exten = 1-dial,n,Gotoif(${LEN(${ARG2})} > 0 ?1-${DIALSTATUS},1:1-out,1)
exten = 1-CHANUNAVAIL,1,Dial(${ARG2})
exten = 1-CHANUNAVAIL,n,Hangup()
exten = 1-CONGESTION,1,Dial(${ARG2})
exten = 1-CONGESTION,n,Hangup()
exten = 1-out,1,Hangup()



In der dritten Zeile wird Bezug genommen auf die gesetzten CID-outgoing CID_${CALLERID(num)} für die einzelnen Extensions:


exten = s,n,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} > 2]?${CID_${CALLERID(num)}}:)})



Die sind gesetzt in extensions.conf


CID_6001 = 92XXXX
CID_6002 = 92XXXXX
CID_6003 = 92YYYYY
CID_6005 = 92ZZZZ
FOLLOWME_6001 = 1
FOLLOWME_6000 = 1
GLOBAL_OUTBOUNDCID = 92XXXXX
GLOBAL_OUTBOUNDCIDNAME = Mein Name
timeinterval_always = *,mon-sun,*,*
CID_6004 = 92XXXXX
CID_6006 = 92XXXXX
CID_trunk_1 = Mein Name <92XXXXX>
CID_6000 = 925ZZZ



Das ist Teil der [globals] Section/context, komplett sieht die so aus:


[globals]
CONSOLE = Console/dsp ; Console interface for demo
TRUNK = DAHDI/G2 ; Trunk interface

;
; Note the 'G2' in the TRUNK variable above. It specifies which group (defined
; in chan_dahdi.conf) to dial, i.e. group 2, and how to choose a channel to use
; in the specified group. The four possible options are:
;
; g: select the lowest-numbered non-busy DAHDI channel
; (aka. ascending sequential hunt group).
; G: select the highest-numbered non-busy DAHDI channel
; (aka. descending sequential hunt group).
; r: use a round-robin search, starting at the next highest channel than last
; time (aka. ascending rotary hunt group).
; R: use a round-robin search, starting at the next lowest channel than last
; time (aka. descending rotary hunt group).
;
TRUNKMSD = 1 ; MSD digits to strip (usually 1 or 0)
FEATURES =
DIALOPTIONS =
RINGTIME = 20
FOLLOWMEOPTIONS = nas
PAGING_HEADER = Intercom
trunk_1 = SIP/trunk_1


CID_6001 = 924XXXX
CID_6002 = 924XXXX
CID_6003 = 924YYYY
CID_6005 = 925ZZZ
FOLLOWME_6001 = 1
FOLLOWME_6000 = 1
GLOBAL_OUTBOUNDCID = 924XXXX
GLOBAL_OUTBOUNDCIDNAME = Mein Name
timeinterval_always = *,mon-sun,*,*
CID_6004 = 924XXXX
CID_6006 = 924XXXX
CID_trunk_1 = Mein name <924XXXX>
CID_6000 = 925WWWW





Die Extensions.conf kann ich bei Beedarf per E-Mail schicken.


Stutzig macht mich das Format "Mein name <924XXXX>" was als letzter Parameter an das Mako übergeben wird, also speziell diese <> ...
- aber genau das funktioniert ja!


Wenn dort nichts steht, scheint sich das Makro die CID aus den globalen Variablen zu holen, setzt aber (bitte mal überprüfen, ich bin nicht sicher, ob ich das Ding richtig verstehe) weder die <> um die CID noch setzt es den Realnamen davor (der wird für jeden User/Extenbsion in users.conf in "fullname" geschrieben).


Ist das so gemeint? Ich bin da doch ein wenig verwirrt...


Oder ist da was ganz anderes falsch?


Regards






PS: ein User ist zB so definiert:


[6001]
fullname = Mein Name
registersip = no
host = dynamic
callgroup = 1
mailbox = 6001
call-limit = 100
type = peer
username = 6001
transfer = yes
callcounter = yes

context = DLPN_DialPlan1
cid_number = 6001
hasvoicemail = yes
vmsecret = XXXX
email = meine-email....
threewaycalling = no
hasdirectory = yes
callwaiting = no
hasmanager = yes
managerread = system,call,log,verbose,command,agent,user,config,originate
managerwrite = system,call,log,verbose,command,agent,user,config,originate
hasagent = no
hassip = yes
hasiax = no
secret = XXXXXXX
nat = no
canreinvite = yes
dtmfmode = rfc2833
insecure = no
pickupgroup = 1
macaddress = 6001

autoprov = yes
label = 6001
linenumber = 1
LINEKEYS = 1
disallow = all
allow = alaw,ulaw,g726,g729,gsm




Da muss doch was falsch sein, vermutlich eine Kleinigkeit, aber ich finde es nicht ... :-(
 
Zuletzt bearbeitet:
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.

IPPF im Überblick

Neueste Beiträge