Asterix Telekom pjsip.conf + extensions.conf

longshot006A

Neuer User
Mitglied seit
20 Nov 2016
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Freunde,

Ich habe soeben meine Umstellung von chan_sip nach pjsip abgeschlossen und wollte euch meine Configs zur Verfügung stellen in der Hoffnung dass diese euch einiges an Arbeit und Recherche ersparen.

Anmerkungen:
-Ich verwende den SSO über die Telekom, da ich aus Sicherheitsgründen ungern die Zugangsdaten eintragen würde
-In diesem Szenario gibt es 3 Telekom-Rufnummern und 4 Endstellen. 2 auf der Fritzbox und 2 Softphones
-In der Extensions.conf gibt es noch einen Anrufschutz vor Ex-Freundinnen, Sky, Ergo & Co (zum Testen die Rufnummer eintragen, alternativ lookup in der Datenbank "blacklist") und eine AB-Funktion. Dies müsste noch auf eure Gegebenheiten angepasst werden (voicemail.conf) (database put blacklist +49XXXXX "Kommentar"), eigenes Soundfile "fuckyou" ablegen, etc.
-Alles outbound bis auf 0, 0049, 0041 und 0043 ist blockert.
-Ihr müsst noch bei den internen Endpunkten eure eigenen Passwörter setzten.
-Die extension IAX2/2100 zeigt auf ein iaxmodem/hylafax-konglomerat. Einfach anpassen oder löschen ;)

Verbesserungsvorschläge sind jederzeit willkommen!

Code:
pjsip.conf:


[global]
type = global
language = de
endpoint_identifier_order = username,ip

[transport-udp]
type = transport
protocol = udp
bind = 192.168.0.25:5060
local_net = 192.168.0.0/16


[telekom_auth]
type = auth
auth_type = userpass
password = :[email protected]
username = [email protected]
realm = tel.t-online.de

[telekom_in]
type=endpoint
transport=transport-udp
context=incoming
disallow=all
allow=g722
allow=alaw
outbound_auth=telekom_auth

[telekom_in]
type = identify
endpoint = telekom_in
match = 217.0.0.0/13

[telekom_1234502_reg]
type = registration
transport = transport-udp
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
server_uri = sip:tel.t-online.de:5060
client_uri = sip:[email protected]:5060
contact_user = 0891234502
retry_interval = 60
forbidden_retry_interval = 60
expiration = 480
auth_rejection_permanent = false

[telekom_1234503_reg]
type = registration
transport = transport-udp
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
server_uri = sip:tel.t-online.de:5060
client_uri = sip:[email protected]:5060
contact_user = 0891234503
retry_interval = 60
forbidden_retry_interval = 60
expiration = 480
auth_rejection_permanent = false

[telekom_1234504_reg]
type = registration
transport = transport-udp
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
server_uri = sip:tel.t-online.de:5060
client_uri = sip:[email protected]:5060
contact_user = 0891234504
retry_interval = 60
forbidden_retry_interval = 60
expiration = 480
auth_rejection_permanent = false



[telekom_0891234502]
type = endpoint
transport = transport-udp
context = outgoing
disallow = all
allow = g722
allow = alaw
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
aors = telekom_0891234502_aor
callerid = 0891234502
from_user = 0891234502
from_domain = tel.t-online.de
timers = no
rtp_symmetric = yes
force_rport = yes
ice_support = yes
rewrite_contact = yes
direct_media = no

[telekom_0891234502_aor]
type = aor
contact = sip:[email protected]

[telekom_0891234503]
type = endpoint
transport = transport-udp
context = outgoing
disallow = all
allow = g722
allow = alaw
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
aors = telekom_0891234503_aor
callerid = 0891234503
from_user = 0891234503
from_domain = tel.t-online.de
timers = no
rtp_symmetric = yes
force_rport = yes
ice_support = yes
rewrite_contact = yes
direct_media = no

[telekom_0891234503_aor]
type = aor
contact = sip:[email protected]

[telekom_0891234504]
type = endpoint
transport = transport-udp
context = outgoing
disallow = all
allow = alaw
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
aors = telekom_0891234504_aor
callerid = 0891234504
from_user = 0891234504
from_domain = tel.t-online.de
timers = no
rtp_symmetric = yes
force_rport = yes
ice_support = yes
rewrite_contact = yes
direct_media = no

[telekom_0891234504_aor]
type = aor
contact = sip:[email protected]

[1001]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
auth=1001
aors=1001
[email protected]

[1001]
type=auth
auth_type=userpass
password=pass
username=1001

[1001]
type=aor
max_contacts=2
remove_existing=true

[1002]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
auth=1002
aors=1002
[email protected]

[1002]
type=auth
auth_type=userpass
password=pass
username=1002

[1002]
type=aor
max_contacts=2
remove_existing=true

[1011]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
allow=ilbc
auth=1011
aors=1011
[email protected]

[1011]
type=auth
auth_type=userpass
password=pass
username=1011

[1011]
type=aor
max_contacts=2
remove_existing=true

[1012]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
allow=ilbc
auth=1012
aors=1012
[email protected]

[1012]
type=auth
auth_type=userpass
password=pass
username=1012

[1012]
type=aor
max_contacts=2
remove_existing=true

[acl]
type=acl
deny=0.0.0.0/0.0.0.0
; Telekom
permit=217.0.0.0/13
; eigenes LAN
permit=10.0.0.0/8
permit=192.168.0.0/20



extensions.conf:
[general]
static=yes
writeprotect=no

[macro-blacklist]
; Aufruf: Macro(blacklist,${CALLERID(num)})
exten => s,1,GotoIf(${DB_EXISTS(blacklist/${ARG1})}?black)
exten => s,10(black),NoOp(${ARG1} is in the blacklist)
exten => s,n,Playback(fuckyou)
exten => s,n,Hangup()

[macro-set-codec-alaw]

exten => s,1,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,set(__SIP_CODEC_OUTBOUND=alaw)
exten => s,n,set(__SIP_CODEC_INBOUND=alaw)
exten => s,n,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,MacroExit()

[macro-set-codec-g722]

exten => s,1,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,set(__SIP_CODEC_OUTBOUND=g722)
exten => s,n,set(__SIP_CODEC_INBOUND=g722)
exten => s,n,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,MacroExit()



[default]
include => incoming
include => internal


[outgoing]

include => internal
include => from-internal-custom
include => incoming

exten => _0XX./1001,2,set(CALLERID(num)=0891234502)
exten => _0XX./1002,2,set(CALLERID(num)=0891234503)
exten => _0XX./1011,2,set(CALLERID(num)=0891234503)
exten => _0XX./1012,2,set(CALLERID(num)=0891234503)
exten => _0XX./2100,2,set(CALLERID(num)=0891234504)

;exten => _0049.,3,Macro(set-codec-g722,${CALLERID(num)})
;exten => _0049./0891234504,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0049.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num)},,WwtTr)

;exten => _0.,3,Macro(set-codec-g722,${CALLERID(num)})
;exten => _0./0891234504,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num)},,WwtTr)


;exten => _0041.,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0041.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num),,WwtTr)
;exten => _0043.,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0043.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num),,WwtTr)




exten => _00XX.,4,Hangup()


[incoming]

include => from-internal-custom
include => internal

exten => _X.,1,Macro(blacklist,${CALLERID(num)})
exten => _X.,2,Set(CALLERID(name)=${IF($["${DB(cidname/${CALLERID(num)})}" = ""]?${CALLERID(name)}:${DB(cidname/${CALLERID(num)})})})


exten => 0891234502,3,GotoIf($["${CALLERID(num)}" != "+498925879"]?dial2)

exten => 0891234502,n(dial1),Playback(fuckyou)
exten => 0891234502,n,Hangup

exten => 0891234502,n(dial2),Dial(PJSIP/1001,180,WwtTr)
exten => 0891234502,n,Hangup



exten => 0891234503,3,GotoIf($["${CALLERID(num)}" != "+498925879"]?dial2)

exten => 0891234503,n(dial1),Playback(fuckyou)
exten => 0891234503,n,Hangup


exten => 0891234503,n(dial2),Dial(PJSIP/1002&PJSIP/1011&PJSIP/1012,30,WwtTr)
exten => 0891234503,n,Playback(graveyard)
exten => 0891234503,n,VoiceMail([email protected],s)
exten => 0891234503,n,Hangup



exten => 0891234504,3,Dial(IAX2/2100,180,r)
exten => 0891234504,4,Hangup


[internal]

exten => 800,1,Answer
exten => 800,n,Wait(1)
exten => 800,n,VoiceMailMain(${CALLERID(num)})
exten => 800,n,Hangup


exten => _1XXX,1,NoCDR()
exten => _1XXX,n,Dial(PJSIP/${EXTEN},180,WwtTr)
exten => _1XXX,n,Dial(IAX2/${EXTEN},180,WwtTr)
[Edit Novize: [Code]...[/Code]-Tags um die Config gesetzt - das war ja nicht mehr überschaubar ;)]
 
Zuletzt bearbeitet von einem Moderator:

Fredericderzweite

Neuer User
Mitglied seit
10 Jun 2020
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
Ich verwende den SSO über die Telekom, da ich aus Sicherheitsgründen ungern die Zugangsdaten eintragen würde
Hallo,

seit einigen Tagen versuche ich intensiv aber vergeblich, zwei Telefonnummern über Asterisk bei der Telekoma anzumelden. Ich vermute, SSO steht für Single Sign On. Was bedeutet das hier? Meinst du mit Zugangsdaten die Anschlusskennung und Zugangsnummer?

Ansonsten würde man doch die Sektion type=auth für jede Fonnummer wiederholen, wobei username die jeweilige Fonnummer ist?
 

longshot006A

Neuer User
Mitglied seit
20 Nov 2016
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Fredericderzweite,

Von der Authentifikation her sollte die Config so 1:1 funktionieren, da die Authentifikation dann mittels der IP-Adresse / PPPOE-Einwahl erfolgt.
 

gehtdoch

Neuer User
Mitglied seit
3 Feb 2019
Beiträge
154
Punkte für Reaktionen
12
Punkte
18
Hier findest Du, wie man pjsip mit Authentication bei der Telekom konfiguriert.

Man kann das natürlich auch ohne Anmeldung machen - sollte sich aber dann dessen bewusst sein, dass der gesamte Anschluss von jedem ohne Weiteres genutzt werden kann - es genügt, einen Router an die DSL-Leitung zu hängen (z.B. bei Abwesenheit). Wenn man alleine im Haus unterwegs ist, ist das natürlich eher unproblematisch. Man sollte aber auch in dem Fall sicherstellen, dass nicht Hinz und Kunz im eigenen Netz ein SIP-Phone auf die eigene Nummer registrieren kann (was ja grundsätzlich möglich ist, wenn keine Authentifizierung mehr benötigt wird).
 

Meester Proper

Mitglied
Mitglied seit
24 Mai 2014
Beiträge
227
Punkte für Reaktionen
24
Punkte
18
Bitte nicht die Line ID basierte (PPPoE/Internet-)Anmeldung ohne Überprüfung der Zugangsdaten („Easy Login") mit der SIP-Anmeldung ohne explizite Zugangsdaten (Dummydaten/„NASS-IMS bundled authentication“) in einen Topf werfen.

Ersteres Feature lässt sich leicht und für jeden Anschluss deaktivieren. Zweiteres lässt sich bei MagentaZuhause/Call&Surf/Privatkundentarifen nicht explizit deaktivieren. Rufnummern können lediglich einer T-Online E-Mail bzw. Inklusivnutzer zugeordnet werden, dann sollte nur noch mit deren Zugangsdaten eine Anmeldung möglich sein.

In den DeutschlandLAN-Tarifen lässt sich die anonyme Anmeldung (NBA) übrigens explizit im Telefoniecenter deaktivieren. Bei SIP-Trunk, CloudPBX und CompanyFlex (SIP-Trunk) gibt es wiederum gar nicht das Feature der anonymen bzw. leitungsbasierten Authentifizierung.
 

gehtdoch

Neuer User
Mitglied seit
3 Feb 2019
Beiträge
154
Punkte für Reaktionen
12
Punkte
18
Hallo Meester Proper,
zum Thema "Easy Login" bei MagentaZuhause:
Habe ich das richtig verstanden: Der Login für VoIP ist mittlerweile immer offen, solange man die Nummern keinem Inklusivnutzer bzw. einem t-online-E-Mail-Konto zugeordnet hat? Völlig egal, ob man easy login aktiviert hat oder nicht?
Als ich das vor einigen Jahren getestet habe, sind die beiden Dinge zumindest noch zusammen gehängt: ich hatte immer den VoIP-Zugang einer e-mail Adresse zugeordnet. Trotzdem war es mir testweise möglich, mit irgendwelchen Dummy-Passwörtern eine Registrierung durchzubekommen, solange easy-Login aktiv war.
Hat sich das mittlerweile geändert? Gut möglich. Das Login-Konzept und die vielen User / Passwörter habe ich zumindest aufgegeben, vollständig durchzublicken (v.a. wenn man aus der Historie kommt). Ich bin froh, wenn ich an den richtigen Stellen die richtigen User und Passwörter verwende (gefühlt ändert sich das alle paar Jahre - zuletzt musste ich meinen Zugriff auf das Kundencenter umstellen). Ich hoffe ja bloß, dass man an den Mail-, VoIP-, Kundencenter-, Magentacloudaccount nicht auch noch ohne Password dran kommt (bei inaktivem easy login). Grausig. Gibt es da eigentlich irgendwo eine vollständige belastbare Übersicht inkl. den ganzen Werdegängen / Historie, so dass man auch als Altkunde noch die Chance hat, durchzublicken?