sip.com externip und Audio-Port

RcRaCk2k

Mitglied
Mitglied seit
4 Aug 2005
Beiträge
238
Punkte für Reaktionen
1
Punkte
16
Servus Leute,

ich habe Asterisk 1.6 im Einsatz und verwende externip=meineIPadresse, weil mein Server mehrere IP-Adressen besitzt.

meine sip.conf:
externip = 95.xx.224.157

Aber die IP-Adresse des AUDIOs wird falsch angegeben:
Code:
Audio is at 91.2xx.12.2 port 15790
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 83.169.182.1:5060:
INVITE sip:[email protected];user=phone SIP/2.0
Via: SIP/2.0/UDP 91.2xx.12.2:5060;branch=z9hG4bK6e150b2e;rport
Max-Forwards: 70
From: "0865xxx93287" <sip:[email protected]>;tag=as513e2660
To: <sip:[email protected];user=phone>
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 103 INVITE
User-Agent: sip03.rsm-connect.net
Authorization: Digest username="0865xxx93287", realm="kabel-bb.de", algorithm=MD5, uri="sip:[email protected];user=phone", nonce="ba1b13fad1e5096cxxxa65621ef7c72c", response="e0d6d885899ce81ec3cdxxx8e2ccd7b2", qop=auth, cnonce="51d26006", nc=00000001
Date: Thu, 23 Apr 2009 18:23:04 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 283

v=0
o=root 601583990 601583991 IN IP4 91.2xx.12.2
s=Asterisk PBX 1.6.0.9
c=IN IP4 91.2xx.12.2
t=0 0
m=audio 15790 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

Wie kommt Asterisk dazu, eine andere IP zu verwenden, als wie die, die ich für ihn definiert habe?

ifconfig bond0
Code:
bond0     Link encap:Ethernet  HWaddr 00:FF:C9:0B:36:F5
          inet addr:91.2xx.12.2  Bcast:255.255.255.255  Mask:255.255.255.255
          inet6 addr: fe80::2ff:11ff:fe62:267b/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1460  Metric:1
          RX packets:2822143 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1469778 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2269296924 (2164.1 Mb)  TX bytes:186235326 (177.6 Mb)

ifconfig wan1
Code:
wan1      Link encap:Ethernet  HWaddr 00:30:84:2D:04:59
          inet addr:95.xx.224.157  Bcast:255.255.255.255  Mask:255.255.254.0
          inet6 addr: fe80::230:84ff:fe2d:459/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6910000 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1800303 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3030498770 (2890.1 Mb)  TX bytes:312997300 (298.4 Mb)
          Interrupt:18 Base address:0x1400

Wer weiß rat und Hilfe?

Liebe Grüße,
Michael.
 
Hast Du NAT über die externe IP?
Ist der entsprechende Eintrag mit nat=yes konfiguriert?
Könnte auch daran liegen, dass Asterisk auf einem Deiner anderen Interfaces arbeitet, als auf dem, das Du eingestellt hast. Läuft die Default-Route über die gleiche externe IP?
 
Hi,

also ich nutze LINUX IP-Policy-Routing. Die Default-Gateway geht über ein anderes Interface hinaus. Jedoch ist mein Linux Policy-Routing so eingerichtet, dass Linux nur Pakete ohne SRC-IP-Addr über die Default-Route geschickt werden.

Wenn eine SRC-IP-Addr gesetzt ist, wie z.B. 95.xx.224.157 dann schickt Linux das Paket über das Interface WAN, und wenn 91.2xx.12.2 gesetzt ist, dann über BOND0.

Ich habe nun folgende Entdeckungen gemacht:

Wenn ich localnet=91.2xx.12.0/24 setze, dann setzt Asterisk die SRC-IP-Addr und die SDP-Audio-Adresse richtig auf den Wert von externip.

Dumm nur, dass ich keine localnet angegeben kann, denn die Anrufe (der lokalen user) kommen von vielen verschiedenen IP-Adressen und nicht nur aus dem localnet.

Ich habe nun auf Anfrage bei DIGITUM, die mir leider nur folgende "dumme" Lösung gegeben haben:

bindaddr=95.xx.224.157

gesetzt.. Das Problem ist jedoch, dass das ein dynamisches Interface ist, und die IP-Adresse sich immer ändert. Jetzt musste ich im DHCLIENT-Script einprogrammieren, dass es bei Änderung der IP-Adresse die IP-Adresse in der sip.conf ändert und asterisk-Konfiguration neu einließt...

Echt Tricky die ganze Sache.

Grüße,
Michael.
 
Aha, lag der Hund doch in diesem Bereich begraben.
Wie wärs mit externip= wie gehabt und mehreren
localnet=192.168.0.0/255.255.0.0
localnet=10.0.0.0/255.0.0.0
localnet=172.16.0.0/12
localnet=169.254.0.0/255.255.0.0

Trage doch dort alle Nets ein, die lokal von Dir verwendet werden.
 
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.