Asterisk 1.2 -> QSC -> Dial-Out -> 404

hxr0x

Neuer User
Mitglied seit
7 Dez 2005
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,

um es gleich vorweg zu nehmen: ich habe gesucht, ich habe gelesen, ich habe versucht und gefrickelt. mir faellt beim besten willen aber keine loesung meines problems ins auge.

ich verwende asterisk 1.2 mit QSC und zwei SIP-Rufnummern. ich habe bisher hinbekommen, dasz sich diese beiden endgeraete (im moment noch eyeBeam softphones) untereinander erreichen koennen. ebenso koennen beide endgeraete von auszen angesprochen werden (d.h. das routing von extern zu SIP funktioniert tadellos).

das, was nicht funktioniert, ist das heraustelefonieren. ich bekomme bei dem versuch eine verbindung herzustellen lediglich einen 404 - fehler angezeigt. hier der komplette debug-auszug beim "raustelefonieren":

Code:
<-- SIP read from 192.168.0.2:5060:

--- (0 headers 0 lines) Nat keepalive ---
asterisk*CLI>
<-- SIP read from 192.168.0.2:5060:
INVITE sip:[email protected] SIP/2.0
To: <sip:[email protected]>
From: asterisk<sip:[email protected]>;tag=643d8f4d
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK-d87543-364589251-1--d87543-;rport
Call-ID: 44700d5e155df54e
CSeq: 1 INVITE
Contact: <sip:[email protected]:5060>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
User-Agent: eyeBeam release 3004w stamp 16863
Content-Length: 268

v=0
o=- 36004693 36004737 IN IP4 192.168.0.2
s=eyeBeam
c=IN IP4 192.168.0.2
t=0 0
m=audio 8288 RTP/AVP 100 6 0 8 3 18 5 101
a=alt:1 1 : E4D32F7D D51B3B25 192.168.0.2 8288
a=fmtp:101 0-15
a=rtpmap:100 speex/16000
a=rtpmap:101 telephone-event/8000
a=sendrecv
--- (12 headers 11 lines)---
Using INVITE request as basis request - 44700d5e155df54e
Sending to 192.168.0.2 : 5060 (NAT)
Reliably Transmitting (NAT) to 192.168.0.2:5060:
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK-d87543-364589251-1--d87543-;received=192.168.0.2;rport=5060
From: asterisk<sip:[email protected]>;tag=643d8f4d
To: <sip:[email protected]>;tag=as777ff4dc
Call-ID: 44700d5e155df54e
CSeq: 1 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Max-Forwards: 70
Contact: <sip:[email protected]>
Proxy-Authenticate: Digest realm="asterisk", nonce="5191120e"
Content-Length: 0


---
Scheduling destruction of call '44700d5e155df54e' in 15000 ms
Found user '11'

<-- SIP read from 192.168.0.2:5060:
ACK sip:[email protected] SIP/2.0
To: <sip:[email protected]>;tag=as777ff4dc
From: asterisk<sip:[email protected]>;tag=643d8f4d
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK-d87543-364589251-1--d87543-;rport
Call-ID: 44700d5e155df54e
CSeq: 1 ACK
Content-Length: 0

--- (7 headers 0 lines)---

<-- SIP read from 192.168.0.2:5060:
INVITE sip:[email protected] SIP/2.0
To: <sip:[email protected]>
From: asterisk<sip:[email protected]>;tag=643d8f4d
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK-d87543-197481427-1--d87543-;rport
Call-ID: 44700d5e155df54e
CSeq: 2 INVITE
Contact: <sip:[email protected]:5060>
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Content-Type: application/sdp
Proxy-Authorization: Digest username="11",realm="asterisk",nonce="5191120e",uri="sip:[email protected]",response="7524e9d9b8e0722f8d9c43c17fa33eea",algorithm=MD5
User-Agent: eyeBeam release 3004w stamp 16863
Content-Length: 268

v=0
o=- 36004693 36004737 IN IP4 192.168.0.2
s=eyeBeam
c=IN IP4 192.168.0.2
t=0 0
m=audio 8288 RTP/AVP 100 6 0 8 3 18 5 101
a=alt:1 1 : E4D32F7D D51B3B25 192.168.0.2 8288
a=fmtp:101 0-15
a=rtpmap:100 speex/16000
a=rtpmap:101 telephone-event/8000
a=sendrecv
--- (13 headers 11 lines)---
Using INVITE request as basis request - 44700d5e155df54e
Sending to 192.168.0.2 : 5060 (NAT)
Found user '11'
Found RTP audio format 100
Found RTP audio format 6
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 3
Found RTP audio format 18
Found RTP audio format 5
Found RTP audio format 101
Peer audio RTP is at port 192.168.0.2:8288
Found description format speex
Found description format telephone-event
Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x32e (gsm|ulaw|alaw|adpcm|g729|speex)/video=0x0 (nothing), combined - 0xe (gsm|ulaw|alaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Looking for 0xxxxxxxxx88 in intern (domain 192.168.0.123)
Reliably Transmitting (NAT) to 192.168.0.2:5060:
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK-d87543-197481427-1--d87543-;received=192.168.0.2;rport=5060
From: asterisk<sip:[email protected]>;tag=643d8f4d
To: <sip:[email protected]>;tag=as777ff4dc
Call-ID: 44700d5e155df54e
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Max-Forwards: 70
Contact: <sip:[email protected]>
Content-Length: 0


---
asterisk*CLI>
<-- SIP read from 192.168.0.2:5060:
ACK sip:[email protected] SIP/2.0
To: <sip:[email protected]>;tag=as777ff4dc
From: asterisk<sip:[email protected]>;tag=643d8f4d
Via: SIP/2.0/UDP 192.168.0.2:5060;branch=z9hG4bK-d87543-197481427-1--d87543-;rport
Call-ID: 44700d5e155df54e
CSeq: 2 ACK
Content-Length: 0
wobei 0xxxxxxxx88 die zielrufnummer waere..



ich fuerchte, in meine konfiguration hat sich ein grober fehler eingeschlichen, den ich aufgrund meiner noch nicht vorhandenen kompetenz in sachen asterisk nicht finde.

ich wuerde mich freuen, wenn ihr euch meinem (fuer euch vermutlich kleinem) problem annehmen koennt.


hier meine konfigurationsdateien:


sip.conf:
Code:
[general]
context=default
port = 5060
bindaddr=0.0.0.0
srvlookup=yes
pedantic=yes
maxexpirey=1200
defaultexpirey=1200
language=de


disallow=all
allow=gsm
allow=ulaw
allow=alaw
nat=yes

register => 02xxxxx77:***@sip.qsc.de:5060/02xxxxx77
register => 02xxxxx80:***@sip.qsc.de:5060/02xxxxx80

[02xxxxx77]
context=incoming
username=02xxxxx77
secret=***
insecure=very
host=sip.qsc.de
fromuser=02xxxxx77
fromdomain=qsc.de
dtmfmode=info
callerid=02xxxxx77


[02xxxxx80]
context=incoming
username=02xxxxx80
secret=***
insecure=very
host=sip.qsc.de
fromuser=02xxxxx80
fromdomain=qsc.de
dtmfmode=info
callerid=02xxxxx80


[11]
type=friend
username=11
mailbox=11
accountcode=11
host=dynamic
context=intern
secret=***
callerid="TEST1" <11>
nat=yes
dtmfmode=rfc2833
canreinvite=no

[12]
type=friend
username=12
mailbox=12
accountcode=12
host=dynamic
context=intern
secret=***
callerid="TEST2" <12>
nat=yes
dtmfmode=rfc2833
canreinvite=no


und meine extensions.conf:
Code:
[general]
static=yes
writeprotect=yes

[globals]
CONSOLE=Console/dsp
TRUNK=Zap/g2
TRUNKMSD=1

[macro-ruf]
; ${ARG1} - extension(s) to ring
exten => s,1,Dial(${ARG1},90,r)
exten => s,2,Hangup

[default]
inculde => amt
include => incoming
include => intern

[incoming]
; eingehende amtsleitungen
exten => 02xxxxx77,1,Macro(ruf,SIP/11)
exten => 02xxxxx80,1,Macro(ruf,SIP/12)

[intern]
include => amt
exten => _1X,1,Macro(ruf,SIP/${EXTEN})

[amt]
; ausgehende amtsleitungen
;exten => _X./11,1,Macro(ruf,${EXTEN}@02xxxxx77)
;exten => _X./12,1,Macro(ruf,${EXTEN}@02xxxxx80)
exten => _X./02xxxxx77,1,Macro(ruf,SIP/${EXTEN:1}@02xxxxx77)
exten => _X./02xxxxx80,1,Macro(ruf,SIP/${EXTEN:1}@02xxxxx80)


ich hoffe ihr koennt mir helfen.
 
Hallo!

1) hat sich dein Asterisk denn bei QSC erfolgreich registriert?
> SIP SHOW REGISTRY

2) Wenn Raustelefonieren von Nebenstelle 11 oder 12 nicht geht, dann muss man schauen, welchen CONTEXT man in sip.conf für 11 und 12 eingestellt hat. Bei dir ist das intern. Also muss man in der extentions.conf bei [intern] schauen:

[intern]
include => amt
exten => _1X,1,Macro(ruf,SIP/${EXTEN})

Oben siehst du, was 11 und 12 machen dürfen nämlich 1X anrufen und den Context "amt" verwenden.

Schauen wir uns den Context amt an:

[amt]
; ausgehende amtsleitungen
;exten => _X./11,1,Macro(ruf,${EXTEN}@02xxxxx77)
;exten => _X./12,1,Macro(ruf,${EXTEN}@02xxxxx80)
exten => _X./02xxxxx77,1,Macro(ruf,SIP/${EXTEN:1}@02xxxxx77)
exten => _X./02xxxxx80,1,Macro(ruf,SIP/${EXTEN:1}@02xxxxx80)

Hier muss man verstehen, was die beiden letzten Zeilen bedeuten.
_X. = Alle ausgehnden Nummern
/02xxxxx77 = aber nur diejenigen, von Nebenstelle 02xxxxx77, also ist das schon mal ein Fehler, denn die 11 und 12 fallen nicht hier rein. Daher hatte ich auch die obigen 2 Zeilen mit /11 und /12 vorgeschlagen.
1 = Priorität
Macro(ruf, = Das Makro "ruf" verwenden
SIP/${EXTEN:1}@02xxxxx77 = Gewählte Nummer soll eine SIP-Adresse sein, die über Leitung 02xxxxx77 rausgeht und von der die erste Stelle abgeschnitten werden soll ( ${EXTEN:1} ).

Zum Testen empfehle ich dir folgende Zeile (die anderen unter [amt] auskommentieren):

exten => _X.,1,Macro(ruf,SIP/${EXTEN}@02xxxxx77)
Hiermit gehen alle Anrufe über die 02xxxxx77 raus.


Versuch mal folgende extensions.conf:

Code:
[general]
static=yes
writeprotect=yes

[globals]
CONSOLE=Console/dsp
TRUNK=Zap/g2
TRUNKMSD=1

[macro-ruf]
; ${ARG1} - extension(s) to ring
exten => s,1,Dial(${ARG1},90,r)
exten => s,2,Hangup

[nebenstellen]
; Unsere Nebenstellen (11, 12, etc.)
exten => _1X,1,Macro(ruf,SIP/${EXTEN})

[amt]
; ausgehende amtsleitungen
;exten => _X./11,1,Macro(ruf,SIP/${EXTEN}@02xxxxx77)
;exten => _X./12,1,Macro(ruf,SIP/${EXTEN}@02xxxxx80)
; alle rufen über die 02xxxxx77 raus
exten => _X.,1,Macro(ruf,SIP/${EXTEN}@02xxxxx77)

[default]
; hier kommen nur direkte Anrufe auf SIP-Adressen rein.
; das ist eher die Ausnahme
; also müssen hier die Externen Leitungen und die Nebenstellen
; anrufbar sein.
include => incoming
include => nebenstellen
; hier kein "amt" includen!!!

[incoming]
; eingehende amtsleitungen 02xxxxx77 und 02xxxxx80
; werden zu 11 und 12 durchgestellt.
exten => 02xxxxx77,1,Macro(ruf,SIP/11)
exten => 02xxxxx80,1,Macro(ruf,SIP/12)

[intern]
; Nebenstellen haben folgende Rechte:
; - Amtsanrufe machen
; - andere Nebenstellen anrufen
include => amt
include => nebenstellen

Nach dem obigen Beispiel wählt man an der 11 oder 12 einfach ein Rufnummer, Bsp. 11, 12, 040-3334445 oder 089-12345678. Also ohne was vorweg für's Amt.

Wenn es nicht klappt, dann hilft auch meistens schon die normale Fehlermeldung des Asterisk. Ein SIP DEBUG macht die Sache unübersichtlich und ist eigentlich erst dann nötig, wenn die REGISTRY nicht geklappt hat.

Probier erstmal von der 11 die 12 anzurufen und umgekehrt.

Wenn nur ausgehende Amtsgespräche nicht gehen, dann kann es sein, dass du noch die externip= in der sip.conf setzen musst. Wenn es nicht klappt, dann kannst du dich ja mal per PM an mich wenden und mir das unveränderte Log schicken.


Viel Erfolg,

zoo
 
Ich lese gerade noch, dass bei dir wirklich nur das raustelefonieren nicht geht. Das liegt dann an deinen falschen Zeilen unter [amt]. Versuch bitte trotzdem mal, mein obiges Beispiel umzusetzen. Meinetwegen fang mit [amt] an und mach dann später den Rest. Wichtig ist, dass du unter [default] kein [amt] includest, denn sonst ist es eine Sicherheitslücke. Damit könnte jemand über deinen Asterisk telefonieren. Mahl dir mal aus, was passiert, wenn einer [email protected] anruft... Das könnte nämlich schnell in die Hose gehen....

zoo
 
danke :) das hat super funktioniert. danke auf fuer den tipp mit dem fehlplatzierten include => amt... das waere wirklich ziemlich unguenstig gewesen.

liebe gruesze,
hxr0x
 
na bitte, geht doch :-)
 
Kostenlos!

Statistik des Forums

Themen
248,115
Beiträge
2,281,826
Mitglieder
377,334
Neuestes Mitglied
Meich3000