[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
 
Kostenlos!

Statistik des Forums

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