Asterisk + Static IP + X-Lite (int. + ext.) + sipgate + capi

sampo33

Neuer User
Mitglied seit
23 Mrz 2005
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hallo Nachtarbeiter,

vorab zu meiner Config.

Ich habe einen Asterisk auf Suse 8.2 mit Fritzclassic, einer Static-IP (213.252.15.220) im Web in meinem Office stehen.

Interne Anbindung !!!

Im Office kann ich mit X-Lite XClients mich mit dem SIPserver verbinden und zumindestens intern telefonieren.

1.Problem: "Ich kann Capi-Verbindungen aufbauen höre aber keinen Sound, werder nach eingehenden noch nach ausgehenden Gesprächen."

Externe Anbindung !!!

Von zuhause möchte ich nun ebenfalls mich mit X-lite verbinden. Der SIP-Server läßt mich auch anmelden.

2.Problem: "Jedoch kann ich weder über Capi, noch über Sipgate mich intern telefonieren."

Anbei meine Configs:

CAPI.CONF

Code:
; CAPI config

[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8

[interfaces]
msn=28700929
incomingmsn=*
outgoingmsn=2870090     ;neuer Eintrag
overlapdial = yes       ;neuer Eintrag
controller=1
softdtmf=1
accountcode=
context=CAPICALL
;echosquelch=1
;echocancel=yes
;echotail=64
callgroup=1
;deflect=12345678
devices=2
isdnmode = ptp          ;neuer Eintrag

EXTENSION.CONF

Code:
[general]
static = yes
writeprotect = no
;nat = yes

[default]
include => vmailbox
include => notruf
include => parkedcalls
include => SAMSTAG|20:00-7:59|*|*|*
include => CAPIINCOME|8:00-19:59|mon-fri|*|*
include => Sipgate
include => CAPIOUT
include => incoming
include => 10
include => 11
include => 12
include => 13
include => 14
include => 88

;---------------------------------------------------------
; AB HIER WIRD DIE MAILBOX DEFINIERT !!!!!!!!!!!!!!!!!!!!!
;---------------------------------------------------------

[vmailbox]
;
; Mit 8000 kann man die Voicemailbox anrufen.
;
exten => 8000,1,VoicemailMain
exten => 8000,2,Goto(default,s,6)

;---------------------------------------------------------
; AB HIER WERDEN DIE EINGEHENDEN CALLS DEFINIERT !!!!!!!!!
;---------------------------------------------------------

[CAPICALL]
include => parkedcalls
;include => SAMSTAG|20:00-7:59|*|*|*
include => CAPIINCOME

[sipgatein]
include => parkedcalls
include => SIPGATEINCOME

;---------------------------------------------------------
; AB HIER WERDEN DIE AUSGEHENDEN CALLS DEFINIERT !!!!!!!!!
;---------------------------------------------------------


[Sipgate]
exten => _88.,1,Dial(SIP/${EXTEN:2}@SipgateAccount,60)
exten => _88.,2,Hangup

[CAPIOUT]
exten => _0.,1,Dial,CAPI/@28700929:${EXTEN:1}
exten => _0.,2,Hangup

[notruf]
exten => _1XX.,1,Dial,CAPI/@28700929:${EXTEN}
exten => _1XX.,2,Hangup
;exten => _1XX.,3,Dial,CAPI/@28700929:${EXTEN}
;exten => _1XX.,4,Hangup


;---------------------------------------------------------
; AB HIER WERDEN DIE REGELN DER CALLS DEFINIERT !!!!!!!!!
;---------------------------------------------------------
[SIPGATEINCOME]
exten => _.,1,Answer
exten => _.,2,System(echo "${DATETIME}: ${CALLERID} wollte was von dir." | mail -s Sipgate-Benachrichtigung info@webindustry
exten => _.,3,BackGround(welcome)
exten => _.,4,Dial(SIP/10,SIP/11,20,r)           ; 20 Sekunden maximal klingeln lassen
exten => _.,5,Voicemail(u10)                ; Anrufbeantworter
exten => _.,105,Voicemail(b10)
exten => _.,110,Hangup


[CAPIINCOME]
exten => s,1,Answer
exten => s,2,System(echo "${DATETIME}: ${CALLERID} wollte was von dir." | mail -s Anrufbenachrichtigung [email][email protected][/email]
exten => s,3,BackGround(welcome)
exten => s,4,Dial(SIP/10,SIP/11,20,r)           ;20  Sekunden maximal klingeln lassen
exten => s,5,Voicemail(u10)                                             ; Anrufbeantworter
exten => s,102,Voicemail(b10)
exten => s,110,Hangup

[SAMSTAG]
exten => s,1,Answer
exten => s,2,System(echo "${DATETIME}: ${CALLERID} wollte was von dir." | mail -s Weekend-Benachrichtigung info@webindustry.
exten => s,3,BackGround(welcome)
exten => s,4,Voicemail(u10)
exten => s,102,Voicemail(b10)
exten => s,110,Hangup

[macro-ruf];
;
; Standard Extension für einen Anrufbeantworter:
;   ${ARG1} - Teilnehmer
;
exten => s,1,Dial(SIP/${ARG1},20,Ttr)                                   ; 30 Sekunden maximal klingeln lassen
exten => s,2,Voicemail(u${ARG1})                                        ; Anrufbeantworter
exten => s,102,Voicemail(b${ARG1})     ; Wenn besetzt ist, schickt Asterisk eine Voicemailn

[incoming]
exten => _.,1,Answer
include => vmailbox
exten => _XX,2,Macro(ruf,${EXTEN})
exten => _.,3,BackGround(welcome)
exten => i,1,Playback(invalid)
exten => t,1,Hangup

[macro-rufumleitung_setzen]
exten => s,1,DBput(CFIM/${CALLERIDNUM}=${ARG1})
exten => s,2,Wait(2)
exten => s,3,SetLanguage(de)
exten => s,4,SayDigits(${ARG1})
exten => s,5,Wait(2)
exten => s,6,Hangup

[macro-rufumleitung]
exten => s,1,SetCallerID(${CALLERIDNUM})
exten => s,2,DBget(temp=CFIM/${ARG1})
exten => s,3,SetCallerID(${CALLERIDNUM})
exten => s,4,gotoIf($[${temp} > 0]?5:6)
exten => s,5,Goto(duo,${temp},1)
exten => s,6,Dial(${ARG2},60,tT)
exten => s,7,DBget(temp=CFBS/${ARG1})

[10]
exten => _XX,2,Macro(ruf,${EXTEN})
[11]
exten => _XX,2,Macro(ruf,${EXTEN})
[12]
exten => _XX,2,Macro(ruf,${EXTEN})
[13]
exten => _XX,2,Macro(ruf,${EXTEN})
[14]
exten => _XX,2,Macro(ruf,${EXTEN})

[88]
exten => _XX,2,Macro(ruf,${EXTEN})

SIP.CONF

Code:
[general]
port = 5060
bindaddr = 213.252.15.220
externip = 213.252.15.220
;Localnet = 192.168.0.0/255.255.0.0
context = default
tos = reliability
srvlookup = yes
insecure = very
nat = no
disallow = all
allow = ulaw
allow = alaw
allow = ilbc
allow = gsm
allow = g729
canreinvite = yes
insecure = very
qualify = yes
language = de
dtmfmode = info
maxexpirey = 3600
defaultexpirey = 600


register => 7775992:[email protected]/7775992

[SipgateAccount]
secret = passwd
username = 7775992
fromuser = 7775992
type = friend
host = sipgate.de
context = sipgatein
canreinvite = yes
nat = yes
authuser = 7775992
fromdomain = sipgate.de
insecure = very
;promiscredir = yes
qualify = no
disallow = all
allow = alaw
allow = ulaw
dtmfmode = info
language = de

[10]
type = friend
username = 10
secret = passwd
host = dynamic
qualify = 1200
context = default
mailbox = 10
callerid = "webindustry Frank Lemm" = <10>
dtmfmode=rfc2833

[11]
type = friend
username = 11
secret = passwd
host = dynamic
qualify = 1200
context = default
mailbox = 11
callerid = "webindustry Alf Engelmeier 11" = <11>
dtmfmode=rfc2833

[88]
type = friend
username = 88
secret = passwd
host = dynamic
qualify = 1200
context = default
callerid = "webindustry Mailbox 88" = <88>
mailbox = 88
nat = yes

ich benötige dringend Unterstützung. habe schon die letzten 24 Stunden aufgewendet.

Gruß vom Ammersee

Frank
 
Hmm... poste mal noch die Ausgabe von der Asteriskkonsole, wenn Du a) einen CAPI-Anruf ohne Ton machst und b) von zu Hause aus einen internen Teilnehmer / externen Teilnehmer erreichen willst.
 
Du hast in der capi.conf 'isdnmode = ptp' gesetzt!
Hast du zuhause einen Anlagenanschluss?!
Ansonsten auf Kommentar ';'
 
Mein Server steht in München mit einer öffentlichen static-IP mit Fritzclassik an einem Anlagenanschluß und einer Standleitung angeschlossen

Mein Home-Client ist mit X-Lite/Win-XP über NAT/Sinus1054 an eine DSL im Netz angebunden.

Ich denke es ist ein Problem mit den Ports ? Ich weiß es noch nicht genau. Wenn ich eine andere Nebenstelle anrufe, z.B. von 10 die 11 erhalte ich eine Ansage, dass der Teilnehmer besetzt ist und der AB springt an.

Nur hier funktioniert der Sound.

Wenn ich aber über Capi eine Verbindung herstellen möchte, klingelt es - aber es gibt keinen Ton in beiden Richtungen.

Das ist die Meldung bei interner Verbindung zu einem anderen Teilnehmer:
Verbosity is at least 5
-- Executing Answer("SIP/10-f024", "") in new stack
-- Executing Macro("SIP/10-f024", "ruf|11") in new stack
-- Executing Dial("SIP/10-f024", "SIP/11|20|Ttr") in new stack
Mar 25 13:39:19 NOTICE[17341]: app_dial.c:746 dial_exec: Unable to create channel of type 'SIP'
== Everyone is busy/congested at this time
-- Executing VoiceMail("SIP/10-f024", "b11") in new stack
-- Playing 'vm-theperson' (language 'de')
-- Playing 'digits/1' (language 'de')
-- Playing 'digits/1' (language 'de')
-- Playing 'vm-isonphone' (language 'de')
-- Playing 'vm-intro' (language 'de')
-- Playing 'beep' (language 'de')
-- Recording the message
-- x=0, open writing: /var/spool/asterisk/voicemail/default/11/INBOX/msg0015 format: wav, 0x8149300
-- User hung up
== Spawn extension (macro-ruf, s, 102) exited non-zero on 'SIP/10-f024' in macro 'ruf'
== Spawn extension (default, 11, 2) exited non-zero on 'SIP/10-f024'
-- Executing Answer("SIP/10-f024", "") in new stack
== Spawn extension (default, h, 1) exited non-zero on 'SIP/10-f024'


Das ist die Meldung, wenn ich versuche mich mit X-Lite selbst über ISDN anzurufen:

-- Executing Dial("SIP/10-c016", "CAPI/@28700929:0016099334455") in new stack
-- creating pipe for PLCI=-1
-- Called @28700929:0016099334455
-- CAPI[contr1/28700929]/0 is making progress passing it to SIP/10-c016
-- CAPI[contr1/28700929]/0 is ringing
Mar 25 13:42:00 NOTICE[15775]: res_musiconhold.c:309 monmp3thread: Request to schedule in the past?!?!
-- CAPI Hangingup
-- removed pipe for PLCI = 0x101
== No one is available to answer at this time
-- Executing Hangup("SIP/10-c016", "") in new stack
== Spawn extension (default, 00016099334455, 2) exited non-zero on 'SIP/10-c016'
-- Executing Answer("SIP/10-c016", "") in new stack
Mar 25 13:42:06 WARNING[15845]: chan_sip.c:694 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 33155 (Non-critical Response)

Das ist die Meldung, wenn ich versuche mich über ISDN an der AnlagenNr. anrufe:

Destroying call '[email protected]'
-- CONNECT_IND ID=002 #0x0194 LEN=0041
Controller/PLCI/NCCI = 0x101
CIPValue = 0x10
CalledPartyNumber = default
CallingPartyNumber = <40 80>08192998870
CalledPartySubaddress = default
CallingPartySubaddress = default
BC = <80 90 a3>
LLC = default
HLC = <91 81>
AdditionalInfo = default

Mar 25 14:03:17 NOTICE[21615]: chan_capi.c:1932 capi_handle_msg: CONNECT_IND ID=002 #0x0194 LEN=0041
Controller/PLCI/NCCI = 0x101
CIPValue = 0x10
CalledPartyNumber = default
CallingPartyNumber = <40 80>08192998870
CalledPartySubaddress = default
CallingPartySubaddress = default
BC = <80 90 a3>
LLC = default
HLC = <91 81>
AdditionalInfo = default

Mar 25 14:03:17 ERROR[21615]: chan_capi.c:2051 capi_handle_msg: did not find device for msn = s
-- INFO_IND ID=002 #0x0195 LEN=0016
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x18
InfoElement = <89>

Mar 25 14:03:17 ERROR[21615]: chan_capi.c:1198 find_pipe: unable to find a pipe for PLCI = 0x101 MN = 0x195
Mar 25 14:03:17 NOTICE[21615]: chan_capi.c:1302 pipe_msg: INFO_IND ID=002 #0x0195 LEN=0016
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x18
InfoElement = <89>
-- DISCONNECT_IND ID=002 #0x0198 LEN=0014
Controller/PLCI/NCCI = 0x101
Reason = 0x0

Mar 25 14:03:17 ERROR[21615]: chan_capi.c:1198 find_pipe: unable to find a pipe for PLCI = 0x101 MN = 0x198



Das ist die Meldung, wenn ich mich über Festnetz über Sipgate anrufe:

-- Executing Answer("SIP/217.10.67.5-08142590", "") in new stack
-- Timeout on SIP/217.10.67.5-08142590
== CDR updated on SIP/217.10.67.5-08142590
-- Executing Hangup("SIP/217.10.67.5-08142590", "") in new stack
== Spawn extension (default, t, 1) exited non-zero on 'SIP/217.10.67.5-08142590'
-- Executing Answer("SIP/217.10.67.5-08142590", "") in new stack
-- Executing Answer("SIP/217.10.67.5-08142590", "") in new stack
-- Timeout on SIP/217.10.67.5-08142590
== CDR updated on SIP/217.10.67.5-08142590
-- Executing Hangup("SIP/217.10.67.5-08142590", "") in new stack
== Spawn extension (default, t, 1) exited non-zero on 'SIP/217.10.67.5-08142590'
-- Executing Answer("SIP/217.10.67.5-08142590", "") in new stack

Das ist die Meldung bei shop sip peers

Name/username Host Dyn Nat ACL Mask Port Status
88/88 (Unspecified) D N 255.255.255.255 0 UNKNOWN
14/14 (Unspecified) D 255.255.255.255 0 UNKNOWN
13/13 (Unspecified) D 255.255.255.255 0 UNKNOWN
12/12 (Unspecified) D 255.255.255.255 0 UNKNOWN
11/11 (Unspecified) D N 255.255.255.255 0 UNKNOWN
10/10 84.128.19.178 D N 255.255.255.255 5060 UNKNOWN
SipgateAccount/ 217.10.79.9 255.255.255.255 5060 Unmonitored

Die Meldung wenn ich versuche über sipgate zu telefonieren:

9 headers, 0 lines
set_destination: Parsing <sip:[email protected]:5060> for address/port to send to
set_destination: set destination to 84.128.24.56, port 5060
Reliably Transmitting:
BYE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 213.252.15.220:5060;branch=z9hG4bK0337687e;rport
From: <sip:[email protected]>;tag=as1aae6a66
To: Frank Lemm <sip:[email protected]>;tag=3625913660
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 BYE
User-Agent: Asterisk PBX
Content-Length: 0

(NAT) to 84.128.19.178:5060
Destroying call '[email protected]'
asterisk*CLI>

Sip read:
SIP/2.0 200 Ok
Via: SIP/2.0/UDP 213.252.15.220:5060;branch=z9hG4bK0337687e;rport
From: <sip:[email protected]>;tag=as1aae6a66
To: Frank Lemm <sip:[email protected]>;tag=3625913660
Contact: <sip:[email protected]:5060>
Call-ID: [email protected]
CSeq: 102 BYE
Server: X-Lite release 1103m
Content-Length: 0
 
Ich kann mir nicht vortstellen, dass dein Server in München nicht hinter einer firewall steht!
Wurde denn der sip-port 5060 + die rtp-ports (rtp.conf - alles udp) in Richtung * freigegeben?
 
Kostenlos!

Statistik des Forums

Themen
247,229
Beiträge
2,264,151
Mitglieder
375,737
Neuestes Mitglied
asch