[Frage] Asterisk: Interne Durchwahlen nach außen sichtbar machen

MCmenkes

Neuer User
Mitglied seit
12 Apr 2019
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hi folks,

wahrscheinlich ist es völlig trivial, aber ich suche und teste nun heute wirklich schon lange, und finde einfach nicht den richtigen Schalter.

Letztlich soll das Anrufverhalten so umgestellt werden, dass bei allen ausgehenden Gesprächen nicht mehr die Zentralnummer -0 beim Anrufenden angezeigt wird, sondern die Durchwahlen der einzelnen MitarbeiterInnen.


Specs:
------------
QSC / Plusnet SIP Trunk IPfonie extendend
Asterisk 13.14.1~dfsg-2+deb9u4

Ausschnitt aus /etc/asterisk/extensions.ael

Code:
globals {
        BASE =004930xxxxxx0;
}

 _X. => {
                Set(OUTGOING=${EXTEN});
                Set(CALLERID(num)=${BASE});
                NoOP("Outgoing call to ${OUTGOING} from ${CALLERID(num)});
                Dial(SIP/${OUTGOING}@qsc,,);
        }


 _+X. => {
                Set(OUTGOING=${EXTEN});
                Set(CALLERID(num)=${BASE});
                NoOP("Outgoing call to ${OUTGOING} from ${CALLERID(num)});
                Dial(SIP/${OUTGOING}@qsc,,);

Die Durchwahlen sind zweistellig von 10-99.

Durch was muss ich
Code:
 Set(CALLERID(num)=${BASE});
ersetzen, damit die CallerID mit Durchwahl pro Teilnehmer gesetzt wird?

Freue mich über eure Hilfe.

Danke und Gruß,

MCm
 
Moinsen


Nimm CALLERID(all)...
Code:
'999' =>          1. verbose(1,${CALLERID(all)})                [pbx_config]
                    2. set(CALLERID(all)=493066666666<493066666666>) [pbx_config]
                    3. verbose(1,${CALLERID(all)})                [pbx_config]
                    4. dial(SIP/1006,120,md)                      [pbx_config]
...das klappt bei mir und das Gerät zeigt an was du willst...
Code:
[Apr 13 08:56:14] INVITE sip:[email protected]:5060 SIP/2.0
[Apr 13 08:56:14] Via: SIP/2.0/UDP 192.168.0.1:5060;branch=<hash>
[Apr 13 08:56:14] Max-Forwards: 70
[Apr 13 08:56:14] From: "493066666666" <sip:[email protected]>;tag=<hash>
[Apr 13 08:56:14] To: <sip:[email protected]:5060>
[Apr 13 08:56:14] Contact: <sip:[email protected]:5060>
[Apr 13 08:56:14] Call-ID: <hash>@192.168.0.1:5060
[Apr 13 08:56:14] CSeq: 102 INVITE
[Apr 13 08:56:14] User-Agent: PiBX
[Apr 13 08:56:14] Date: Sat, 13 Apr 2019 06:56:14 GMT
[Apr 13 08:56:14] Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
[Apr 13 08:56:14] Supported: replaces, timer
[Apr 13 08:56:14] P-Asserted-Identity: "493066666666" <sip:[email protected]>
Geändert wird...
1. FROM
2. CONTACT
3. P-ASSERTED-IDENTITY*

Aufbau: "Namensteil Datentyp String"<Registrarteil>

Ändere mal...
Code:
Set(CALLERID(num)=${BASE})
...in...
Code:
Set(CALLERID(all)=${BASE}<${BASE}>)
Beachte: sip: und @IP/DNS/Port fügt Asterisk automatisch hinzu.


* sip.conf [general]
Code:
trustrpid = yes                ; If Remote-Party-ID should be trusted
;sendrpid = yes                 ; If Remote-Party-ID should be sent (defaults to no)
;sendrpid = rpid                ; Use the "Remote-Party-ID" header
                                ; to send the identity of the remote party
                                ; This is identical to sendrpid=yes
sendrpid = pai                  ; Use the "P-Asserted-Identity" header
                                ; to send the identity of the remote party
rpid_update = yes               ; In certain cases, the only method by which a connected line
                                ; change may be immediately transmitted is with a SIP UPDATE request.
 
Zuletzt bearbeitet:
Hi koyaanisqatsi,

danke für die schnelle Rückmeldung. Leider funktioniert das bei mir jedoch so leider nicht.

Nach viel Recherche und testings habe ich es nun wie folgt gelöst und das läuft. Yeah ;-)

Code:
_X. => {
                Set(DURCHWAHL=${CHANNEL(peername)});
                Verbose(Anruf macht Gegenstelle ${DURCHWAHL});
                Set(OUTGOING=${EXTEN});
                Set(CALLERID(num)=0049301234567${DURCHWAHL});
                NoOP("Outgoing call to ${OUTGOING} from ${DURCHWAHL});
                Dial(SIP/${OUTGOING}@qsc,,);
        }

_+X. => {
                Set(DURCHWAHL=${CHANNEL(peername)});
                Verbose(Anruf macht Gegenstelle ${DURCHWAHL});
                Set(OUTGOING=${EXTEN});
                Set(CALLERID(num)=0049301234567${DURCHWAHL});
                NoOP("Outgoing call to ${OUTGOING} from ${DURCHWAHL});
                Dial(SIP/${OUTGOING}@qsc,,);

        }

Trotzdem sehr vielen Dank!

Gruß und schönen Abend,

MCm
 
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.