[Gelöst] Umstellung von IAX2 zu SIP bzw. 2x Asterisk per SIP miteinander verbinden

PsychoMantis

Aktives Mitglied
Mitglied seit
18 Dez 2005
Beiträge
2,539
Punkte für Reaktionen
10
Punkte
38
Hallo Forum, eigentlich bin ich keinesfalls ein Asterisk-Neuling und es ist mir fast schon peinlich nach der Lösung zu fragen, aber ich bin echt am verzweifeln.

Folgende Ausgangssituation:
Auf meiner ungefreetzten 7390er läuft nun Asterisk und openvpn als client (IP: 10.10.10.6).
Auf einem Vserver läuft auch asterisk und openvpn als server (IP: 10.10.10.1).
Code:
;iax.conf im asterisk@FBF					;iax.conf im asterisk@vserver
[general]							[general]
transfer=yes							transfer=yes
bindaddr=10.10.10.6						language=de
language=de							delayreject=yes
srvlookup=no							disallow=all
delayreject=yes							allow=ulaw
autokill=yes							allow=alaw
disallow=all							allow=g722
allow=slin
allow=alaw							[alex]
allow=ulaw							type=friend
allow=g722							context=default
register => alex:[email protected]				trunk=no
								requirecalltoken=no
[alex]								user=alex
type=friend							host=dynamic
qualify=yes							secret=geheim
context=default
trunk=no
user=alex
host=10.10.10.1
secret=geheim


;extensions.ael FBF->vserver:					;extensions.conf vserver->FBF:
_0X.=> { Dial(IAX2/alex@alex/${EXTEN},90); }			exten => _00491[567].,1,Dial(IAX2/alex/${EXTEN},90)

So funktioniert das bestens. In beide Richtungen. CallerID wird übertragen. Alles passt und ist so wie ich es will.
So lief diese Konfiguration (früher) auch viele Monate auf raspberry-pi statt Fritzbox 7390.
Leider zickt hier auf der Fritzbox iax2 aus mir unbekannten Gründen: Verbindung bricht manchmal mitten im Gespräch ab, "iax2 show registry" zeigt keine Registrierung.
Problem lässt sich dann entweder mit unload und anschließendem load von module chan_iax2.so lösen, oder mit "core restart now".
Eigentlich brauche ich iax2 nicht - ich habe es nur für die Verbindung zwischen Vserver und Fritzbox. Außerdem ist mir aufgefallen, dass asterisk@FBF weniger RAM braucht, wenn iax2 unloaded ist. Daher hatte ich die Idee die oben genannte Konfiguration auf SIP umzustellen, womit ich jetzt erfolglos einige Stunden verbracht habe.

Dazu habe ich die sip.conf im vserver nur um das hier ergänzt:
Code:
[a_on_7390]
type=friend
host=dynamic
secret=geheim
allowsubscribe=no
user=a_on_7390
;trustpid=yes
domain=10.10.10.1

Die komplette sip.conf in der 7390er sieht so aus:
Code:
[general]
language=de
bindaddr=0.0.0.0
;bindport....nicht nötig, da voipd in /var/flash/voip.cfg auf 5061 angepasst wurde
allowguest=no
externhost=meindyndns.selfhost.tv
externrefresh=300
qualify=yes
disallow=all
allow=alaw
allow=ulaw
allow=ilbc
allow=g722
dtmfmode=rfc2833
nat=force_rport,comedia
sdpsession=AVM FRITZ!Box Fon WLAN 7390 84.06.03 (Feb  7 2014)
useragent=AVM FRITZ!Box Fon WLAN 7390 84.06.03 (Feb  7 2014)
srvlookup=yes
canreinvite=no
registerattempts=0
localnet=192.168.178.0/24
register => a_on_7390:[email protected]
register => 620:geheim:[email protected]:5061/ctj	;registrierung am SIP-Server der Fritzbox

[meine_trunks](!)
insecure=port,invite
type=peer
secret=geheim

[vserver]
type=peer
secret=geheim
defaultuser=a_on_7390
host=10.10.10.1
fromdomain=10.10.10.1

[fbf](meine_trunks)
host=192.168.178.1
outboundproxy=192.168.178.1:5061
username=620
fromuser=620

[fbf_eingehend](meine_trunks)
host=192.168.178.1
port=5061
defaultuser=620
deny=0.0.0.0/0.0.0.0
permit=192.168.178.1


[meine_extensions](!)
type=friend
host=dynamic
secret=geheim
allowsubscribe=no
deny=0.0.0.0/0.0.0.0
permit=192.168.178.1

;[...noch ein paar andere SIP-Endgeräte]

[08411234567](meine_extensions)	;an diesem ist die Fritzbox angemeldet
defaultuser=08411234567
permit=192.168.0.0/255.255.0.0

;zum rauswählen in der extensions.ael nutze ich folgendes
;0987654321 => { Dial(SIP/008003301000@vserver,90,H); }

Wenn ich rauswähle, sehe ich immer nur:
Code:
#im Asterisk@FBF
[Jun 24 19:36:42] WARNING[8271][C-0000003d]: chan_sip.c:23118 handle_response_invite: Received response: "Forbidden" from '<sip:[email protected]>;tag=az7h16g798'
Code:
#im Asterisk@vserver
  == Using UDPTL CoS mark 5
[Jun 24 19:36:42] WARNING[31364]: chan_sip.c:13952 check_auth: username mismatch, have <08411234567>, digest has <a_on_7390>
[Jun 24 19:36:42] NOTICE[31364]: chan_sip.c:22044 handle_request_invite: Failed to authenticate device <sip:[email protected]>;tag=az7h16g798

Nur wenn ich die sip.conf in der FBF um "fromuser" ergänze, dann geht der Anruf durch. Aber dann wird nicht mehr die CallerID des Anrufers übertragen, so wie es bisher über IAX2 war.
Ich werde hier doch nicht der erste Mensch sein, der zwei Asterisk's per SIP verbinden möchte.
Lösungsvorschläge?
 
Zuletzt bearbeitet:
Also bei mir funktioniert das tadellos mit 1.8er mit

Code:
register = 31:***@der.dortige.server/31

[extast]
type=peer
context=from-extern
defaultuser=31
remotesecret=***
host=der.dortige.server
fromdomain=der.dortige.server
Code:
[31]
callerid= <31>
context=from-intern
host=dynamic
secret=***
type=friend
username=31

und einer simplen exten => _9XX,1,Dial(SIP/extast/${EXTEN:1},,HKTX)

(So Sachen wie directmedia, nat, Codecs, ... hab ich der Übersichtlichkeit halber entfernt, die sollten aber wohl keine Rolle spielen.)

Allerdings läuft Asterisk bei mir auf einem RaspberryPI. Ich habe mich von A@FB verabschiedet, weil ich einige Funktionen vermisst habe, die es in dem Freetz Asterisk Paket nicht gab, und ich bei Verwendung von Bridge() regelmäßig Abstürze hatte.
 
Habe exakt deine config genommen (nur IP und (remote)secet geändert). Gleicher Fehler wie oben beschrieben (username mismatch).
Ich würde zu gerne wissen, warum es bei dir geht und bei mir nicht.
Kann doch nicht daran liegen, dass Asterisk@FBF die Version 11 ist und der auf dem Vserver 1.8er.
Nachtrag: Dort war die Lösung. Jetzt funktioniert alles.
Code:
;sip.conf im asterisk@FBF		;sip.conf im asterisk@vserver
[general]				[general]
...					[color=red]match_auth_username=yes[/color]

[vserver]				[a_on_7390]
insecure=port,invite			insecure=port,invite
type=peer				type=peer
secret=geheim				secret=geheim
defaultuser=a_on_7390			defaultuser=a_on_7390
host=10.10.10.1				host=10.10.10.6
fromdomain=10.10.10.1			fromdomain=10.10.10.6
 
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.