[Gelöst] * auf FB7170 an 1und1 und wechsel der IP

not_so_importan

Neuer User
Mitglied seit
26 Dez 2005
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo,

ich habe * nach viel probieren (erst nichts zu hören, dann einseitig etc.) fast vollständig am laufen (7170, Labor-Version 29.04.99-10842 mit freetz 2257). Die FB horcht nun auf Port 5061, der * darf den begehrten 5060 belegen. FB und ein paar Softphones melden sich am * an ... ich benutze nur den SIP Teil von * (CAPI etc. Module werden nicht mehr geladen, was den Speicherverbrauch vom * auf unter 2MB reduziert hat).

Alles mit Asterisk Version 1.4.16.2

Ein Problem bleibt ... leider sehr zäh ! Nach einer Addressänderung der FB (nächtliche Trennung) resgistriert sich der * nicht mehr selbstständig bei 1und1. Im CLI steht dann zwar weiterhin alles auf registered (sip show registry), ich kann normal raustelefonieren (hat ja uch nix mit dem register zu tun), aber die 1und1 Stimme verkündet Anrufern, dass diese Nummer nicht vergeben sei (an allen Nummern) ... bis ich ein reload im CLI mache ... dann ist alles bis zum nächsten Wechsel der IP wieder gut. Alles andere funktioniert inzwischen PERFEKT !

Ich habe folgendes komplett durchprobiert :

PVC'S :
Betrieb mit 2. PVC für Telefonie
Betrieb mit nur einer PVC (somit nur eine IP Adresse für die FB, aktueller Stand)

PORTS:
* läuft auf 5060 und voipd der FB auf 5061
* läuft auf 5061 (mit entsprechenden Freigaberegeln auf 0.0.0.0) und voipd der FB auf 5060

Verschiedene Einstellungen in sip.conf (alles mit dyndns account):

EXTERNHOST/EXTERNIP:
externhost + externrefresh + nat=yes (General) -- AKTUELL
externip <gesetzt auf dyndns hostnamen> + externrefresh + nat/yes (General)
externhost + externrefresh + nat=no (General)
externip <gesetzt auf dyndns hostnamen> + externrefresh + nat=no (General)

DEFAULTEXPIREY:
defaultexpirey=1800
defaultexpirey=600 -- AKTUELL


IMMER MIT DEM GLEICHEN RESULTAT !

Hier mal die relevanten Auszüge meiner sip.conf (aktuelles setup) :

Code:
[general]
context=default                 ; Default context for incoming calls
bindport=5060                   ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0                ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes                   ; Enable DNS SRV lookups on outbound calls
language=de

externhost=<host>.dyndns.org
; externip=<host>.dyndns.org
externrefresh=120
maxexpirey=3600
defaultexpirey=600
localnet=192.168.2.0/255.255.255.0
jbenable=yes
jbimpl=adaptive
allowguest=no
nat=yes

register => 49*:<password>@sip.1und1.de/49*
... Insgesamt 7 Rufnummern bei 1und1

Code:
; sip external outgoing

[49*]
type=peer
username=49*
fromuser=49*
secret=<password>
host=sip.1und1.de
fromdomain=sip.1und1.de
insecure=port,invite
caninvite=no
canreinvite=no
nat=no
disallow=all
allow=alaw
; allow=ulaw
; allow=g726
; allow=gsm

...

[1und1_de_in]
type=peer
fromdomain=sip.1und1..de
host=sip.1und1.de
caninvite=no
canreinvite=no
disallow=all
allow=alaw
; allow=ulaw
; allow=g726
; allow=gsm
context=ankommend

Hat jemand noch eine magische Idee ... mir gehen die Testszenarien (und die Zeit) langsam aus ...

DANKE IM VORAUS !!
 
Zuletzt bearbeitet:
Na dann antworte ich mir doch mal selbst ...
Mit dem Skript hab ich's nun gelöst (zum Teil aus anderen Beiträgen im ATA Teil des Forums modifiziert) ...


Code:
#!/bin/sh
#
# Ueberpruefung auf Aenderung der IP (intern)
# Gegebenenfalls ASTERISK SIP REGISTER
#

new_ip=$(wget -q -O - http://admin:<pwd>@<server>:81/cgi-bin/rudi_shellcmd.cgi?script=get_ip | sed -n 's/.*id="cmd_output">//p')

# teste auf korrektes IP Format *.*.*.*
if echo $new_ip |egrep -q '.*\..*\..*\..*'; then
  if test -f /var/tmp/current.ip -a $new_ip = "`cat /var/tmp/current.ip`"; then
      logger -t sipreg -p cron.notice "Keine neue IP -> Ende"
  else
      /var/media/ftp/uStor01/addons/asterisk14/bin/asterisk -rx "sip reload"
      logger -t sipreg -p cron.notice "Aktualisiere SIP-Register ($new_ip)."
      eventadd 1 "sipreg: Aktualisiere SIP-Register ($new_ip)."
      echo $new_ip > /var/tmp/current.ip
  fi
  else
  logger -t sipreg -p warn "Keine Verbindung. Kann IP nicht ermitteln."
  eventadd 1 "sipreg: Keine Verbindung. Kann IP nicht ermitteln."
fi

Danke für's Einpacken des Codes ... das Script läuft im übrigen nun als Cronjob und schaut einfach alle 5 Minuten nach ob die externe IP neu ist ... bisher klappts wunderbar.
 
Zuletzt bearbeitet:
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.