[Info] Asterisk pjsip 1und1

Mathias-R

Neuer User
Mitglied seit
20 Jul 2005
Beiträge
165
Punkte für Reaktionen
1
Punkte
18
Hallo,

ich musste etwas experimentieren, bis ich mich bei 1und1 registrieren konnte. So hat es dann funktioniert (Server mit öffentlicher IP, kein NAT, sonst transport anpassen):
Code:
pjsip.conf

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0



[*49617412345]
type = registration
transport = transport-udp
outbound_auth = *49617412345
server_uri = sip:sip.1und1.de
client_uri = sip:[email protected]
contact_user = 49617412345
retry_interval = 60
forbidden_retry_interval = 600
expiration = 3600

[*49617412345]
type = endpoint
transport = transport-udp
disallow = all
allow = alaw
context = MeinInboundContext
from_user = 49617412345
from_domain = sip.1und1.de
outbound_auth = *49617412345
aors = 1und1

[*49617412345]
type=auth
username = 49617412345
password = MeinPasswort
realm = 1und1.de

[1und1]
type=aor
contact=sip:sip.1und1.de:5060

[1und1]
type=identify
endpoint=*49617412345
match=212.227.18.0/24
match=212.227.67.0/24


Gruß,
Mathias
 
Zuletzt bearbeitet:
Moin

Ohne STUN und Proxy?

OK, registrieren geht, aber funktionieren auch (aLAW) Gespräche?
Hier eine HD Test URI: sip:[email protected]
...hörst du da was?
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Hallo, ist die Konfiguration im Anfangspost noch im Einsatz?
Vermutlich sind bei mir zu viele Variablen anders, als dass die Lösung offensichtlich wäre, aber ich bekomme mit pjsip kein Audio von und zu 1&1, Registrierung und Verbindungsaufbau klappen aber.

Zum Setup: Asterisk 14.4 mit pjsip 2.6 auf einem Raspberry Pi, hinter NAT. Die Aktualisierung der IP-Adresse erfolgt mit einem externen Skript, angepasst von https://github.com/hayesey/asterisk-externhost/blob/master/ipupdate.sh (für sip.conf ggf. "grep externaddr" mit "grep externip" ersetzen). Sipgate und dus.net funktionieren ohne Probleme damit.
Mit Zwischenschritten die keine Besserung bewirkten habe ich den endpoint-Teil anhand des sipgate-Beispiels https://www.sipgatebasic.de/konfiguration/219/asterisk-pbx ausgebaut bis hin zu:
Code:
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0:5060
local_net=10.0.0.0/24
external_media_address=46.86.55.159
external_signaling_address=46.86.55.159
...
[1und1]
type = endpoint
disallow = all
allow = alaw
context = 1und1_incoming
from_user = 49XXXXXXXXXX
from_domain = sip.1und1.de
outbound_auth = 1und1
aors = 1und1
rtp_symmetric = yes
force_rport = yes
rewrite_contact = yes
;timers = yes
direct_media = no

Falls jemand eine funktionierende Lösung für 1und1 mit pjsip (und NAT) hat, gerne her damit ;)
Bei Interesse hier ein Vergleich der SIP-Pakete beim Verbindungsaufbau mit 1und1 und sipgate:
https://paste.omux.de/ezamewedic.txt
https://paste.omux.de/tifanuyuxi.txt
Ich sehe spontan keine großen Unterschiede außer dass bei Sipgate mehr Infos vom Server kommen und halt "Ringing" vs. "Session Progress". Eventuell sind die SDP-Daten unzureichend und die Ströme strömen falsch? Keine Ahnung...

Meine Lösung ist erstmal die 1und1-Verbindung mit chan_sip zu realisieren, da klappt bisher alles außer wenn ich alle Provider auf dem selben Asterisk verbunden habe und mich selbst von sipgate/dus.net auf 1&1 anrufe, dann habe ich nur in eine Richtung Ton. Aber ist ja nur beim Testen doof, in der Praxis egal solange die externen Gespräche klappen :p
 
Hallo allerseits,

da es einige Mühe gekostet hat, die richtigen Einstellungen zu finden, hier eine funktionierende Konfiguration:

Die Adressen der 1&1 Loadbalancing-Server haben sich geändert die Maske ist jetzt ziemlich groß, aber damit hoffentlich zukunftssicher.
Wichtig bei NAT ist noch, dass man "direct_media" auf "no" stellt, da Telefone vom privaten Netz nicht direkt mit externen Partnern sprechen können.
pjsip.conf
Code:
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0:5060
local_net=192.168.0.0/16
external_media_address=1.1.1.1
external_signaling_address=1.1.1.1

[Group1-ext]
type = registration
transport = transport-udp-nat
outbound_auth = Group1-ext
server_uri = sip:sip.1und1.de
client_uri = sip:[email protected]
contact_user = 49123456789
retry_interval = 60
forbidden_retry_interval = 600
expiration = 3600

[Group1-ext]
type=auth
username = 49123456789
password = geheim
realm = 1und1.de

[Group1-ext]
type = endpoint
transport = transport-udp-nat
disallow = all
allow = alaw
context = External
from_user = 49123456789
from_domain = sip.1und1.de
outbound_auth = Group1-ext
aors = Group1-ext
force_rport=yes
ice_support=yes
rtp_symmetric = yes
rewrite_contact = yes
timers = yes
direct_media = no

[Group1-ext]
type=aor
contact=sip:sip.1und1.de:5060

[Group1-ext]
type=identify
endpoint=Group1-ext
match=212.227.0.0/16

Um die dynamische IP anzupassen, startet ein Cronjob alle 5 Minuten das folgende Skript:
checkip.sh
Code:
#!/bin/bash

echo $(wget http://checkip.dyndns.com -O - -q | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}') > /etc/asterisk/newip

NEWIP=$(cut -f2 -d' ' /etc/asterisk/newip)
NEWIP=${NEWIP##addr:}
OLDIP=$(cut -f2 -d' ' /etc/asterisk/oldip)
OLDIP=${OLDIP##addr:}

if [ ! "$NEWIP" == "$OLDIP" ] ; then
    sed -i "s/external_media_address.*/external_media_address=${NEWIP}/g" /etc/asterisk/pjsip.conf
    sed -i "s/external_signaling_address.*/external_signaling_address=${NEWIP}/g" /etc/asterisk/pjsip.conf
    systemctl stop asterisk
           systemctl start asterisk;
fi
rm /etc/asterisk/oldip
mv /etc/asterisk/newip /etc/asterisk/oldip

Routereinstellungen, Port Forwards an asterisk-Server hinter NAT:
  • 5060 (SIP) TCP/UDP, aber nur von 212.227.124.129, d.h. sip.1und1.de
  • 5004-5034 (RTP) UDP von allen IPs
  • "outbound port rewrite" muss ausgestellt sein, d.h. NAT nutzt die selben Ports wie die Rechner im Intranet. Fehlt die Einstellung kann es sein, dass man einseitig keinen Ton hat.
    Beschreibung für pfSense:
    https://www.administrator.de/content/detail.php?id=258811&nid=44295#comment-983457
    Beschreibung für OPNsense:
    (1) Firewall -> NAT -> Outbound, change mode to "Hybrid NAT rule generation (Automatic Outbound NAT + rules below"
    (2) add manual rule
    * Interface: WAN
    * Source: <internal Asterisk IP or alias>
    * Source Port: any
    * Destination: any
    * Destination Port: any
    * NAT address: Interface Address
    * Static: *check*
Ich hoffe dies hilft jemandem weiter.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,695
Beiträge
2,216,696
Mitglieder
371,315
Neuestes Mitglied
jack-mack
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.