Hilfe: Trixbox Asterisk und 1und1 ( 1&1 ) Register Probleme - gelöst

stony999

Neuer User
Mitglied seit
12 Aug 2006
Beiträge
169
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe folgendes Problem mit Asterisk (Trixbox 1.1.1) hinter einer Fritz!Box und 1&1: Asterisk registriert sich nicht mit 1&1.
Ich habe eine Reihe von Threads in diesem forum gelesen, doch leider haben mich diese Tips nicht weitergebracht. ich habe jetzt über meherere Tage alle Tips ausprobiert.

Folgende Parameter habe ich
- Trixbox 1.1.1
- SIP mit Sipgate läuft
- Zaphfc läuft (Ein/Ausgehende Gespräche ins Telefonnetz und zu den internen Telefonen gehen)
- ich habe 2 1&1 SIP-Accounts (2 Nummern 4961xxxxxx)
- die 1. 1und1 Nummer ist auf die Fritzbox eingetragen und auf dem 1&1 Softphone (beide gehen hervorragend)
- die 2. Nummer ist auf dem Asterisk eingetragen

Vorab ein paar Dinge, die funktionieren.
1.) 1&1 Softphone funktioniert auf Port 5060 hinter der fritzbox, also sollte ich davon ausgehen, dass die Fritzbox die ports korrekt durchläßt.
2.) Sipgate funktioniert ebenfalls am Asterisk, also auch hier eine implizite Bestätigung, dass die Fritzbox nicht blockiert.
3.) Ich kann von aussen per Softphone (Kiax) über IAX über die Fritzbox zum Asterisk kommunizieren kommunizieren.

Folgende Ports sind freigeschaltet auf der FritzBox:
- UDP 3478-3479
- UDP 4569
- UDP 5050-5065
- UDP 5070-5079
- UDP 8000-5005
- UDP 10000-20000
- UDP 30000-30019
- UDP 63878

Inhalt der sip_additional.conf
Angepasst gemäß http://www.ip-phone-forum.de/showthread.php?t=92288
=====================
Code:
register=4961xxxxxxxxx:[email protected]/4961xxxxxxxxx
[1und1in]
srvlookup=yes
port=5060
nat=yes
localnet=192.168.178.0/255.255.255.0
language=de
externip=host.homelinux.com
disallow=all
context=from-pstn
bindaddr=0.0.0.0
allow=ulaw
allow=alaw

[1und1out]
username=4961xxxxxxxxx
type=peer
secret=password
qualify=yes
nat=yes
insecure=very
host=sip.1und1.de
fromuser=4961xxxxxxxxx
fromdomain=1und1.de
canreinvite=no

Protokoll: mit sip debug auf dem Asterisk CLI:
===================================
Im Logfile var/log/asterisk/full erscheint:

Code:
Aug 23 18:44:47 WARNING[19005] chan_sip.c: Section '1und1in' lacks type
OPTIONS sip:sip.1und1.de SIP/2.0
Aug 23 18:47:23 WARNING[19005] chan_sip.c: Section '1und1in' lacks type
OPTIONS sip:sip.1und1.de SIP/2.0
To: <sip:sip.1und1.de>
To: <sip:sip.1und1.de>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-a873
Aug 23 18:47:23 NOTICE[19005] chan_sip.c:    -- Re-registration for  [email protected]
Aug 23 18:47:23 DEBUG[19005] chan_sip.c: Scheduled a registration timeout for sip.1und1.de id  #126
REGISTER sip:sip.1und1.de SIP/2.0
From: <sip:[email protected]>;tag=as755d5e08
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=as755d5e08
To: <sip:[email protected]>;tag=329cfeaa6ded039da25ff8cbb8668bd2.0cb6
Aug 23 18:47:24 WARNING[19005] chan_sip.c: Forbidden - wrong password on authentication for REGISTER for '4961xxxxxxxxxxx' to 'sip.1und1.de'
Aug 23 18:47:29 DEBUG[19594] db.c: Unable to find key 'SIP/1und1in' in family 'cfb'
Aug 23 18:47:29 DEBUG[19594] db.c: Unable to find key 'SIP/1und1out' in family 'cfb'
Aug 23 18:47:29 DEBUG[19594] db.c: Unable to find key 'SIP/1und1in' in family 'dnd'

dabei bin ich mir sehr sicher, das richtige Passwort genommen zu haben. Das habe ich auch noch mal mit X-Lite überprüft. X-Lite connectet mit den Benutzerdaten.

Im Asterisk CLI zeigt "sip debug"
Code:
<-- SIP read from 217.10.79.9:5060:

--- (0 headers 0 lines) Nat keepalive ---
12 headers, 0 lines
Reliably Transmitting (NAT) to 212.227.15.197:5060:
OPTIONS sip:sip.1und1.de SIP/2.0
Via: SIP/2.0/UDP 192.168.178.21:5060;branch=z9hG4bK42f12a0e;rport
From: "Unknown" <sip:[email protected]>;tag=as05a62734
To: <sip:sip.1und1.de>
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Wed, 23 Aug 2006 17:12:26 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Length: 0


---
asterisk1*CLI>
<-- SIP read from 212.227.15.197:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.178.21:5060;received=84.178.21.214;branch=z9hG4bK42f12a0e;rport=5060
From: "Unknown" <sip:[email protected]>;tag=as05a62734
To: <sip:sip.1und1.de>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-85a5
Call-ID: [email protected]
CSeq: 102 OPTIONS
Server: UI OpenSer
Content-Length: 0


--- (8 headers 0 lines)---
Destroying call '[email protected]'
asterisk1*CLI>

Auffallend ist, dass der Empfanger der SIP-Mail sip:sip.1und1.de keine gültige eMail-Adresse ist (das @ fehlt).
Bei Sipgate steht dort z.B.
To: <sip:[email protected]>

Code:
asterisk1*CLI> sip show registry
Host                            Username       Refresh State
sip.1und1.de:5060               4961xxxxxxxxx       120 Request Sent
sipgate.de:5060                 5855146            105 Registered

Code:
asterisk1*CLI> sip show peers
======================================
Name/username              Host            Dyn Nat ACL Port     Status
sipgate-in/5855146         217.10.79.9          N      5060     Unmonitored
sipgate/5855146            217.10.79.9          N      5060     Unmonitored
299/299                    (Unspecified)    D          0        Unmonitored
202/202                    (Unspecified)    D          0        Unmonitored
201/201                    (Unspecified)    D          0        Unmonitored
200/200                    (Unspecified)    D          0        Unmonitored
1und1out/4961xxxxxxxxx      212.227.15.197       N      5060     OK (54 ms)
7 sip peers [7 online , 0 offline]

Ich bin mit meinem Latein am Ende. Wer kann helfen?
 
Zuletzt bearbeitet:
Wie hast du deinen [general] Bereich in der sip.conf definiert?
So hast du nämlich localnet und externip nur in [1und1in] beschrieben.

Gruß
Olaf
 
Meine sip.conf sieht so aus:
Code:
[general]

port = 5060           ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0    ; Address to bind to (all addresses on machine)
disallow=all
allow=ulaw
allow=alaw
; If you need to answer unauthenticated calls, you should change this
; next line to 'from-trunk', rather than 'from-sip-external'.
; You'll know this is happening if when you call in you get a message
; saying "The number you have dialed is not in service. Please check the
; number and try again."
context = from-sip-external ; Send unknown SIP callers to this context
callerid = Unknown
tos=0x68

; #, in this configuration file, is NOT A COMMENT. This is exactly
; how it should be.
#include sip_nat.conf
#include sip_custom.conf
#include sip_additional.conf
 
Dann richte deine sip.conf doch auch ersteinmal so
http://www.ip-phone-forum.de/showthread.php?t=92288 ein.

[general]
context=Rufnummernplan
port=5060
bindaddr=0.0.0.0
localnet=192.168.3.0/255.255.255.0
externip=xxxxxx.dyndns.org
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
language=de
nat=yes


register => Benutzer:P[email protected]/10


[sip-out]
type=peer
username=Benutzer
insecure=very
host=sip.1und1.de
fromuser=Benutzer
secret=Passwort
fromdomain=1und1.de
nat=yes
canreinvite=no
context=sip-in
qualify=yes

Gruß
Olaf
 
Jetzt habe ich es hinbekommen

Hallo,

danke für den Tip.

Bei der Trixbox ist natürlich einiges anders. Deshalb mal hier meine Configs (ich habe ein wenig rumprobiert, deshalb kann es sein, dass hier ein Paar Einträge überflüssig sind:
Sip.conf
Code:
[general]
port = 5060           ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0    ; Address to bind to (all addresses on machine)
localnet=192.168.178.0/255.255.255.0
externip=meinhost.dyndns.org
srvlookup=yes
language=de
nat=yes
disallow=all
allow=ulaw
allow=alaw
context = from-sip-external ; Send unknown SIP callers to this context
callerid = Unknown
tos=0x68
#include sip_nat.conf
#include sip_custom.conf
#include sip_additional.conf

Hier die sip_additional.conf
Code:
register=4961xxxxxxxxx:[email protected]/200 ; Meine interne ext ist 200

[1und1]
username=4961xxxxxxxxx
type=peer
secret=meinpassword
qualify=yes
nat=yes
insecure=very
host=sip.1und1.de
fromuser=4961xxxxxxxxx
fromdomain=1und1.de
context=sip-in
canreinvite=no
callerid=4961xxxxxxxxx

[1und1in]
username=4961xxxxxxxxx
type=friend
srvlookup=yes
secret=meinpassword
port=5060
nat=yes
localnet=192.168.178.0/255.255.255.0
language=de
insecure=very
host=sip.1und1.de
fromuser=4961xxxxxxxxx
fromdomain=1und1.de
externip=meinhost.dyndns.org
disallow=all
context=from-pstn
callerid=4961xxxxxxxxx
bindaddr=0.0.0.0
allow=ulaw
allow=alaw

Hier fehlte type=friend und fromdomain, sonst registriert er ohne IP

Hier der Output im CLI für die registrierten Accounts:
Code:
asterisk1*CLI> sip show peers
Name/username              Host            Dyn Nat ACL Port     Status
sipgate-in/585xxxx         217.10.79.9          N      5060     Unmonitored
sipgate/585xxxx            217.10.79.9          N      5060     Unmonitored
299/299                    (Unspecified)    D          0        Unmonitored
202/202                    192.168.178.30   D          62898    Unmonitored
201/201                    (Unspecified)    D          0        Unmonitored
200/200                    192.168.178.42   D          56102    Unmonitored
1und1in/4961xxxxxxxxx       212.227.15.197       N      5060     Unmonitored
1und1/4961xxxxxxxxx         212.227.15.197       N      5060     OK (54 ms)
8 sip peers [8 online , 0 offline]

asterisk1*CLI> sip show registry
Host                            Username       Refresh State
sip.1und1.de:5060               4961xxxxxxxxx      4988 Registered
sipgate.de:5060                 585xxxx            105 Registered

Fazit:
Es geht hinter der Fritzbox, welbst wenn Asterisk und die Fritzbox beide auf Port 5060 hören. Der Trick, die FritzBox dazu zu überreden, dass er sie den Port 5060 durchläßt, ist folgendermassen:
Zwei Freigaben erstellen jeweils UDP:
Z.B, Eine von 5050 bis 5060 (das geht)
dann eine von 5061 bis 5065 (geht auch)

Eine Port-Range von 5060-5065 mage er nicht!

Testen kann man das am besten mit X-Lite 3.0. Wenn X-Lite mit 1&1 connected, dann solte Asterisk das auch tun.

Dann mal viel Spass.

Jetzt kommt das Least Cost Routing dran.
 
Hi,

dank eurer Postings ist es mir endlich gelungen 1und1 auf registered zu bekommen.

Habe aber noch folgendes Problem -->

wenn ich die 1und1-Nummer anrufe (Festnetz sowie Handy) kommt die Ansage das die Nummer zur Zeit nicht vergeben ist.

Melde ich mein GXP2000 mit den Daten an gibt es keine Probleme.

Hier meine sip.conf

[general]

bindport = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
localnet = 192.168.178.0/255.255.255.0
externip=xxxxxxx.dyndns.org
disallow=all
allow=ulaw
allow=alaw
srvlookup=yes
nat=yes

; If you need to answer unauthenticated calls, you should change this
; next line to 'from-trunk', rather than 'from-sip-external'.
; You'll know this is happening if when you call in you get a message
; saying "The number you have dialed is not in service. Please check the
; number and try again."
context = from-sip-external; Send unknown SIP callers to this context
callerid = Unknown
tos=0x68

; #, in this configuration file, is NOT A COMMENT. This is exactly
; how it should be.
#include sip_nat.conf
#include sip_custom.conf
#include sip_additional.conf

add.conf -->

register=49xxxxxxxxx:[email protected]/49xxxxxxx

[1und1_98_in]
username=49xxxxxxxx
type=friend
srvlookup=yes
secret=xxxxxxxxx
port=5060
nat=yes
localnet=192.168.178.0/255.255.255.0
language=de
insecure=very
host=sip.1und1.de
fromuser=49xxxxxxxxx
fromdomain=1und1.de
externip=xxxxxxxxx.dyndns.org
disallow=all
context=from-pstn
callerid=49xxxxxxxxxxx
bindaddr=0.0.0.0
allow=ulaw
allow=alaw

sip show registry und peers zeigt alles conected.

Vielen Dank
 
Hallo,

das Problem hatte ich auch schon einmal. Das stimmte aber meine Dyndns_Adresse nicht mehr.
Bei mir hatte die Fritzbox trotz eingschaltetem Dyndns-Client die Dyndns-Adresse nicht mehr aktualisiert.
Ich habe das jetzt so gelöst, dass über einen Cron-Job ein Shell-Script die aktuelle Adresse regelmäßig überprüft und wenn eine neue externe IP-Adresse vorliegt,
- dann aktualisiert er sie
- und macht ein Sip reload im Asterisk

Vielleicht ist es bei Dir ja auch so? Prüfe doch mal Deine IP-Adresse bei dyndns.org, aktualisiere sie bei Bedarf und mache im Asterisk CLI ein sip reload.
Wenn 1&1 dann errreichbart ist, dann hast Du das gleiche Problem wie ich es hatte.
 
Also über dyndns ist alles erreichbar.

Das seltsame ist ja das alles andere so funktioniert. Nur mit 1und1 gibt es diese Probleme
 
Hast Du denn für 1&1 auch eine Inbound Route definiert, d.h. ist der Asterisk schon so konfiguriert, dass er auf die eingehende Nummer reagiert (also auf die Nummer, die im Register-String hinter dem / eingegeben ist)?
Falls nicht, wäre das Verhalten verständlich.
Viele Grüße
 
Auch hier ist alles richtig.

Wie schoni angemerkt. 1und1 wird regidtriert aber wenn ich die Nummer anrufen kommt das die Telefonnummer nicht vergeben ist. Von meinem GXP2000 funktioniert es dann.
 
poste doch mal Deine conf-Dateien für diesen Anschluss, inklusive des Call-Handlings für eingehende Gespräche (sip.conf, extensions.conf)
 
Kostenlos!

Statistik des Forums

Themen
248,894
Beiträge
2,304,351
Mitglieder
378,587
Neuestes Mitglied
DabJo