[Gelöst] Verschiedene Ausgehende MSN mit Dahdi-Gruppen

cptkrabbe

Neuer User
Mitglied seit
5 Jan 2017
Beiträge
16
Punkte für Reaktionen
0
Punkte
1
Hallo!

Ich stehe vor meinem nächsten Problem.

Im Augenblick steht hier ein phyiklaischer Server mit Asterisk 11 und einer hcf-Karte und eine virtuelle Asterisk 13, diese beiden via IAX verbunden. Hintergrund ist, dass ich früher oder später leider keinen ISDN-Anschluß mehr habe, sondern alles über IP raus geht, dann möchte ich die Physik einfach wegnehmen und nur noch über die virtuelle Asterisk raustelefonieren.

An der Physik hängen zwei NTBA mit insgesamt viel Leitungen, auf Port 3 und Port 4. MSN sagen wir mal "12345" mit einigen Durchwahlen (Ich kann und darf von 123450 - 1234575 alles Nutzen)

Ich habe aber noch eine dritte ISDN-Leitung, mit der MSN "54321".

Mein Problem, wie kann ich diese Leitung in meine Telefonanlage einbinden? Wähle ich mit der 12345-10 raus, dann geht das über
Code:
exten => _XXX.,1,Dial/IAX2/physik/${EXTEN},180,r
und dann auf der Physik weiter mit
Code:
exten => _XXX.,1,Dial/Dahdi/G0/${EXTEN},180

Gruppe 0 sind meine channels 7-8 & 10 -11

Kann ich jetzt einfach in der chan_dahdi.conf eine neue Gruppe mit
Code:
group=1
channel => 4 - 5
anlegen?
Wie kriege ich es mit dem Wählplan hin, dass nur das Endgerät, dass die MSN 54321 bekommen soll, auf dieser Gruppe raustelefoniert?

Vielen Dank schon einmal für Hinweise!
 
Zuletzt bearbeitet:
Danke Dir (mal wieder), nur komme ich hier rein gedanklich überhaupt nicht weiter...

Code:
exten => _XXX.,1,GotoIf($[${CALLERID(num)}=100]?dialdahdi2:dialdahdi1)
exten => _XXX.,2(dialdahdi1),Dial(DAHDI/G0/${EXTEN},180,Hangup)
exten => _XXX.,3(dialdahdi2),Dial(DAHDI/i2/${EXTEN},180,Hangup)

würde das schon reichen, dass das telefon mit der extension 100 auf dem 2. interface raustelefoniert? Wenn ich mit der 100 oder der 200 raustelefoniere sehe ich im asterisk auf der physik ja nur so etwas hier:

Code:
    -- Accepting AUTHENTICATED call from pbx02:4569:    --        > requested format = alaw,
    --        > requested prefs = (alaw|ulaw),
    --        > actual format = alaw,
    --        > host prefs = (alaw|ulaw|slin),
    --        > priority = mine
    -- Executing [MeineHandyNr@default:1] Dial("IAX2/pbx02-9207", "DAHDI/G0/[I]MeineHandyNr[/I],120") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called DAHDI/G0/[I]MeineHandyNr[/I]
    -- DAHDI/i3/[I]MeineHandyNr[/I]-3 is proceeding passing it to IAX2/pbx02-9207
    -- DAHDI/i3/[I]MeineHandyNr[/I]-3 is making progress passing it to IAX2/pbx02-9207
    -- DAHDI/i3/[I]MeineHandyNr[/I]-3 is ringing

wo erkennt die asterisk auf dieser seite des iax-trunks die 100?

sorry, wenn ich mich so dämlich anstelle, es wächst mir gerade alles ein wenig über den kopf :S
 
Zuletzt bearbeitet:
Das einfachste wird sein, eine zweite IAX Koppelung anzulegen und die Callerid Unterscheidung gleich auf dem virtualisierten Asterisk vorzunehmen.

Dial(DAHDI/G0/${EXTEN},180,Hangup)

Was möchtest Du damit bewirken?!
 
Was möchtest Du damit bewirken?!

Sorry, das war natürlich Käse. Es soll heissen:
Code:
[COLOR=#3E3E3E]exten => _XXX.,1,GotoIf($[${CALLERID(num)}=100]?dialdahdi2:dialdahdi1)
[/COLOR][COLOR=#3E3E3E]exten => _XXX.,n(dialdahdi1),Dial(DAHDI/G0/${EXTEN},180)
[/COLOR][COLOR=#3E3E3E]exten => _XXX.,n(dialdahdi1),Dial(DAHDI/G0/${EXTEN},180)
[/COLOR][COLOR=#3E3E3E]exten => _XXX.,n,Hangup()[/COLOR]

Naja jedenfalls geht es so nicht, hast Du evtl einen Link wo ich nachlesen kann, wie ich mir einen zweiten iax2-trunk einrichte?
Im Augenblick sieht die iax.conf auf pbx01 so aus:
Code:
[general]
bindport = 4569
bindaddr = 0.0.0.0
disallow = all
allow = alaw
allow= ulaw
allow = slinear
calltokenoptional = 0.0.0.0/0.0.0.0
language = de

register => user:password@pbx02

[pbx02]
type=friend
host=pbx02
secret=password
context=default
qualify=yes

auf der pbx02 entsprechend gedreht. Ich verstehe nicht, wie ich genau eine zweite Kopplung einrichte :S
 
Äh ja, das [pbx02] auf beiden Seiten kopieren, zB. [pbx03] benennen und einen eigenen Context zuweisen. Ist nur ein Vorschlag, Du kannst auch die Möglichkeit von IAX nutzen, direkt verschiedene Contexte des anderen Systems anzusprechen.

Mit Dial(IAX2/physik/${EXTEN}) passt das aber auch irgendwie nicht zusammen.
Etwas mehr Sorgfalt wäre insgesamt nicht verkehrt, sonst kommen wir hier glaube ich nicht recht weit.

Fällt Dir hier was auf:
Code:
exten => _XXX.,1,GotoIf($[${CALLERID(num)}=100]?dialdahdi[COLOR=#ff0000]2[/COLOR]:dialdahdi[COLOR=#ff0000]1[/COLOR])
exten => _XXX.,n(dialdahdi[COLOR=#ff0000]1[/COLOR]),Dial(DAHDI/[COLOR=#ff0000]G0[/COLOR]/${EXTEN},180)
exten => _XXX.,n(dialdahdi[COLOR=#ff0000]1[/COLOR]),Dial(DAHDI/[COLOR=#ff0000]G0[/COLOR]/${EXTEN},180)
exten => _XXX.,n,Hangup()

Abgesehen davon rufst Du so nach 3 Minuten noch einmal an, nach dem ersten Dial sollte auch ein Hangup rein.

Wie bereits gesagt würde ich Dir empfehlen, bereits auf dem virtuellen Asterisk nach Callerid zu unterscheiden.

[noparse]exten => _XXX.,1,Dial(IAX2/${IF($["${CALLERID(num)}"="100"]?pbx03:pbx02)}/${EXTEN},180)[/noparse]

oder eben

[noparse]exten => _XXX.,1,Dial(IAX2/pbx02/${EXTEN}@${IF($["${CALLERID(num)}"="100"]?context-100:context-normal)},180)[/noparse]
 
Ich danke dir vielmals, mit deinen Hinweise habe ich es so hinbekommen. Sorry für die Schlampigkeit da oben, so ist Troubleshooting natürlich ein graus, ich habe das alles aus der Erinnerung hier runter geschrieben, weil ich auf meine Testwiese zu Hause keinen Zugriff habe. Also nix Strg+C,Strg+V. das zweite G0 sollte ein G1 sein. Die Hangup-Zeile habe ich auch drin.

Vielen Dank nochmal! Im Augenblick klappt alles so, wie ich mir das vorstelle!
 
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.