Forum: PC Hard- und Software Asterisk und SRV Records


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nur falls hier jemand danach sucht: die Telekom hat vor einiger Zeit 
Briefe geschrieben, in denen sie Leuten mitgeteilt hat, dass sie einen 
Router "mit veralteter Firmware" benutzen und einen Firmwareupgrade 
machen sollen …

Hintergrund ist, dass sie alle die Kunden rausgepickt haben, die noch 
auf den per A-Record unter tel.t-online.de hinterlegten Server 
zugreifen. Sie möchten, dass man die Auflösung über SRV-Records 
vornimmt. (Beim "Telekom hilft"-Forum gibt's einen länglichen 
Sammel-Thread dafür.)

Warum zum Geier™ aber macht Asterisk eigentlich keine SRV-Auflösung, 
obwohl der Code dafür offenbar existiert? Ich habe mich dann heute ein 
wenig durch PJSIP durchgewühlt. Der Dreh- und Angelpunkt ist dieses 
Stück Code in sip_resolve.c:
1
    /* If port is not specified, start with SRV resolution
2
     * (should be with NAPTR, but we'll do that later)
3
     */
4
    PJ_TODO(SUPPORT_DNS_NAPTR);
5
6
    /* Build dummy NAPTR entry */
7
    // …
8
9
    /* Start DNS SRV or A resolution, depending on whether port is specified */
10
    if (target->addr.port == 0) {
11
  // …
12
    } else {
13
  /* Otherwise if port is specified, start with A (or AAAA) host 
14
   * resolution 
15
   */

Fazit: man muss das ":5060" aus der URL entfernen, dann funktioniert's.

Nur, falls das nochmal wer gebrauchen kann … (betrifft auch RasPBX).

von Sebastian (Gast)


Lesenswert?

Hallo,
vielen Dank für deine Ausführungen!
Hast du auch ein Beispiel für eine funktionierende pjsip.conf.
Bei mir hat die Telekom nochmals per Post drauf hingewiesen, obwohl kein 
Port angegeben ist. Scheinbar mache ich also noch irgendwas falsch.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Kannst du denn (bspw. via tcpdump / wireshark) erstmal verifizieren, 
gegen welche Server du arbeitest?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

1
[telekom_351467****_reg]
2
type = registration
3
transport = transport-udp
4
outbound_auth = telekom_351467****_auth
5
outbound_proxy = sip:+49351467****@tel.t-online.de\;lr
6
server_uri = sip:tel.t-online.de
7
client_uri = sip:+49351467****@tel.t-online.de
8
contact_user = 0351467****
9
retry_interval = 60
10
max_retries = 10000
11
forbidden_retry_interval = 60
12
expiration = 480
13
auth_rejection_permanent = false
14
15
[telekom_351467****_auth]
16
type = auth
17
auth_type = userpass
18
password = 012345678901:234567890123-0001@tel.t-online.de
19
username = 0351467****
20
realm = tel.t-online.de
21
22
[telekom_351467****_aor]
23
type = aor
24
contact = sip:+49351467****@tel.t-online.de
25
qualify_frequency = 20
26
27
[telekom_351467****_identify]
28
type = identify
29
endpoint = telekom_351467****
30
match = 217.0.0.0/13

: Bearbeitet durch Moderator
von Sebastian (Gast)


Lesenswert?

Danke für deinen Input, das deckt sich allerdings mit meiner Konfig.
Anderswo habe ich gelesen, dass dennoch unter Umständen hin und wieder 
mal ein A-Record angefragt wird und nicht klar ist, ob und wie die 
Telekom rausfinden will ob die Abfrage zum Telefonieren "gebraucht" 
wird.

Ich warte daher ab und schaue, ob es irgendwann nicht mehr funktionieren 
sollte.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wie geschrieben: trace doch mal deine DNS-Anfragen oder halt die 
SIP-Kommunikation selbst. Dann siehst du, zu wem er sich verbindet.

Wie man Asterisk dazu bringt, die angefragten Namen selbst zu loggen, 
hatte ich glaub' ich damals nicht auf die Schnelle gefunden. Es war dann 
einfacher, den Sourcecode daraufhin abzuklopfen. ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.