Hallo, ich habe zwar schon hier (http://www.ip-phone-forum.de/showthread.php?t=225601) einen Thread eröffnet, aber nun habe ich erkannt, dass ein Problem im Asterisk liegt. Daher folgendes:
Was habe ich getestet ? Von Msn1 Anruf auf Msn2. Softphone nimmt am Msn2 ab, die Verbindung funktioniert. Ich lege auf und wiederhole das ganze und es klappt nicht mehr. Hat jemand eine Idee, wo das Problem liegen könnte ?
Zur Konfiguration:
Das Softphone ist im Lan angeschlossen,
Mein Sip.conf sieht so aus:
und in meiner Extension.conf steht:
Vielen dank für die Hilfe
Was habe ich getestet ? Von Msn1 Anruf auf Msn2. Softphone nimmt am Msn2 ab, die Verbindung funktioniert. Ich lege auf und wiederhole das ganze und es klappt nicht mehr. Hat jemand eine Idee, wo das Problem liegen könnte ?
Code:
== ISDN1#02: Incoming call '%caller-nr%' -> '%msn2%'
-- Executing [%msn2%@capi_in1:1] NoOp("CAPI/ISDN1#02/%msn2%-2", "Anruf von %caller-nr%") in new stack
-- Executing [%msn2%@capi_in1:2] Set("CAPI/ISDN1#02/%msn2%-2", "MSGFILENAME=") in new stack
-- Executing [%msn2%@capi_in1:3] Dial("CAPI/ISDN1#02/%msn2%-2", "SIP/%userSIPid%,20,r") in new stack
== Using SIP RTP CoS mark 5
-- Called %userSIPid%
-- SIP/%userSIPid%-0062dc70 is ringing
-- Registered SIP '%userSIPid%' at %MyInetIP% port 5061 expires 120
> Saved useragent "Asterisk PBX 1.6.0.1" for peer %userSIPid%
-- SIP/%userSIPid%-0062dc70 answered CAPI/ISDN1#02/%msn2%-2
== ISDN1#02: Answering for %msn2%
== ISDN1#02: Setting up DTMF detector (PLCI=0x701, flag=1)
== Spawn extension (capi_in1, %msn2%, 3) exited non-zero on 'CAPI/ISDN1#02/%msn2%-2'
== ISDN1#02: CAPI Hangingup for PLCI=0x701 in state 2
> ISDN1#02: CAPI INFO 0x3490: Normal call clearing
== ISDN1#02: Incoming call '%caller-nr%' -> '%msn2%'
-- Executing [%msn2%@capi_in1:1] NoOp("CAPI/ISDN1#02/%msn2%-3", "Anruf von %caller-nr%") in new stack
-- Executing [%msn2%@capi_in1:2] Set("CAPI/ISDN1#02/%msn2%-3", "MSGFILENAME=") in new stack
-- Executing [%msn2%@capi_in1:3] Dial("CAPI/ISDN1#02/%msn2%-3", "SIP/%userSIPid%,20,r") in new stack
== Using SIP RTP CoS mark 5
-- Called %userSIPid%
-- Got SIP response 482 "Loop Detected" back from %MyInetIP%
-- Now forwarding CAPI/ISDN1#02/%msn2%-3 to 'Local/%userSIPid%@%userSIPid%' (thanks to SIP/%userSIPid%-006140b8)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [%msn2%@capi_in1:4] Goto("CAPI/ISDN1#02/%msn2%-3", "record,s,1") in new stack
-- Goto (record,s,1)
-- Executing [s@record:1] Macro("CAPI/ISDN1#02/%msn2%-3", "entfernegitter") in new stack
-- Executing [s@macro-entfernegitter:1] Set("CAPI/ISDN1#02/%msn2%-3", "EXTEN2=s") in new stack
-- Executing [s@record:2] Wait("CAPI/ISDN1#02/%msn2%-3", "1") in new stack
-- Executing [s@record:3] Playback("CAPI/ISDN1#02/%msn2%-3", "VM_MESSAGE") in new stack
== ISDN1#02: Answering for %msn2%
== ISDN1#02: Setting up DTMF detector (PLCI=0xa01, flag=1)
Zur Konfiguration:
Das Softphone ist im Lan angeschlossen,
Mein Sip.conf sieht so aus:
Code:
[general]
context=default ; Default context for incoming calls
; port 5060 already used by fritzbox, so use 5061
; and reconfigure local sip phones (remote sip goes through asterisk!)
; ^^^^^
; XLITE in same subnet example config (fritzbox 192.168.222.100)
; - System Settings / SIP Proxy / Default
; - Enabled: Yes
; - Display Name=Username=Auth. User=: 7701
; - Password: 7701
; - Domain/Realm: 192.168.222.100
; - SIP Proxy: 192.168.222.100:5061
; ^^^^
; - Outbound Proxy: (empty)
; - Use Outbound Proxy: Never
; - Send Internal IP: Always
; ^^^^^^
; - Register: Default
; - Advanced System Settings / Audio / Silence Settings
; - Transmit Silence: Yes
bindport=5061 ; 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)
tcpenable=yes
tcpbindaddr=0.0.0.0:5061
;tlsenable=yes ; tls is not enabled by default
;tlsbindaddr=0.0.0.0:5062 ; default tls port is 5061 which conflicts with
; default fritzbox asterisk sip port 5061
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
language=de
notifyringing=yes
progressinband=no
;using external sip provider
;and coping with dynamic ip address (the entry localnet=127...
;is required if the avm sip client is registered at localhost:5061)
;(idea taken from [email protected])
externhost=%myIP.dyndns%
externrefresh=10
;localnet=127.0.0.0/255.0.0.0
;nat=yes
;canreinvite=no
localnet=192.168.178.0/255.255.255.0
;realm=asterisk
;register => bluesip/username:[email protected]/sip1
;...(http://www.ip-phone-forum.de/showpost.php?p=500468&postcount=12)
register => %userSIPid%:%userSIPid_PW%@%myIP.dyndns%:5061
[%userSIPid%]
context=sip%userSIPid%
callerid="SIP %userSIPid%" <%userSIPid%>
host=dynamic
nat=yes
qualify=no
type=friend
user=%userSIPid%
secret=*
canreinvite=no
disallow=all
allow=gsm
allow=ilbc
allow=ulaw
allow=alaw
und in meiner Extension.conf steht:
Code:
[globals]
; gehende Nummer in [festnetz_out]
CAPI_CALLERID=%msn2%
LOG_PATH=/var/spool/asterisk/logs
;SIP5776 globale Setting
; Kurzes Klingeln, wenn SIP5776 nicht erreichbar
;RING_FOR_NOTICE=
MAILER_TO=%toadress%
MAILER_FROM=%fromadress%
MAILER_SMTP=%smtp%
; smtp user und password nur bei Bedarf eintragen (sonst leer lassen!)
MAILER_USER=%mail-user%
MAILER_PASSWORD=%mail-pw%
[general]
static=yes
writeprotect=no
; Macros
[macro-entfernegitter]
; wenn Nummer mit # e?hlt werden
t)
exten => s,1,Set(EXTEN2=${IF( $[ ${MACRO_EXTEN:-1} = # ] ? ${MACRO_EXTEN:0:$[${LEN(${MACRO_EXTEN})}-1]} : ${MACRO_EXTEN} )})
;exten => s,n,NoOp(${EVAL(${EXTEN2})} -- ${MACRO_CONTEXT})
;Begruessungsnachricht des Anrufbeantworters aufnehmen
[record_message]
exten => _91!,1,Macro(entfernegitter)
exten => _91!,n,answer
exten => _91!,n,wait(1)
;exten => _91!,n,playback(beep)
exten => _91!,n,record(VM_MESSAGE.gsm,4,60)
exten => _91!,n,playback(VM_MESSAGE)
exten => _91!,n,playback(beep)
exten => _91!,n,hangup
;bei usb-Installation werden die Nachrichten vor dem mailen
;auf den usb-Speicher geschrieben (/var/spool/asterisk);
;(Schreiben auf RAM durch Ersetzen von /var/spool/asterisk durch /var/spool)
[recordtest]
; Prompt caller to authenticate and validate passcode
exten => _90!,1,Goto(record,s,1)
; nicht per include in lokal aufzunehmen; wird ueber recordtest aufgerufen.
[record]
exten => s,1,Macro(entfernegitter)
;exten => s,n,answer(2000)
exten => s,n,wait(1)
; Ansagetext vorspielen
exten => s,n,playback(VM_MESSAGE)
exten => s,n,set(TIMESTAMP=${STRFTIME(||%Y-%m-%d_%H-%M-%S)})
exten => s,n,set(MSGFILENAME=${CALLERID(num)})
exten => s,n,set(MAILER_SUBJECT=Anrufer:${CALLERID(num)} Zeit:${TIMESTAMP})
exten => s,n,record(/var/spool/asterisk/${MSGFILENAME}.WAV,5,60)
;exten => s,n,playback(/var/spool/asterisk/${MSGFILENAME})
exten => s,n,hangup
; Nachricht nach Hangup per e-mail versenden und l?schen
exten => h,1,gotoif(${MSGFILENAME}?20:48)
exten => h,20,system(mv /var/spool/asterisk/${MSGFILENAME}.WAV /var/spool/asterisk/${MSGFILENAME}.wav)
exten => h,n,gotoif(${MAILER_USER}?40)
exten => h,n,system(mailer -s "${MAILER_SUBJECT}" -m "${MAILER_SMTP}" -f "${MAILER_FROM}" -t "${MAILER_TO}" -d /var/spool/asterisk/
exten => h,n,goto(45)
exten => h,40,system(mailer -a "${MAILER_USER}" -w "${MAILER_PASSWORD}" -s "${MAILER_SUBJECT}" -m "${MAILER_SMTP}" -f "${MAILER_FRO
exten => h,n,goto(45)
; Nachricht bei erfolgreichem Versand loeschen
exten => h,45,gotoif($[${SYSTEMSTATUS} = SUCCESS]?46:48)
exten => h,46,system(rm /var/spool/asterisk/${MSGFILENAME}.wav)
exten => h,47,goto(49)
exten => h,48,NoOp(Hanging up - no message to send)
exten => h,49,NoOp()
exten => h,50,hangup
;addon - mein Handy wird 2 mal kurz angerufen damit ich ¸ber neue Nachrichten informiert werde
;exten => h,n,system(echo -e "Channel: CAPI/ISDN1/${RING_FOR_NOTICE}" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "Callerid: %msn2%" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "Context: sips" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "Extension: 111111" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "MaxRetries: 1" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "RetryTime: 5" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "WaitTime: 9" >> /var/spool/callfile.txt)
;exten => h,n,system(echo -e "Priority: 1" >> /var/spool/callfile.txt)
;exten => h,n,system(mv /var/spool/callfile.txt /var/spool/asterisk/outgoing/callfile.txt)
;exten => h,108,NoOp(nichts hinterlassen)
;exten => h,n,hangup
[echotest]
exten => _80!,1,Macro(entfernegitter)
exten => _80!,n,answer
exten => _80!,n,wait(2)
exten => _80!,n,SayNumber(80)
exten => _80!,n,wait(4)
exten => _80!,n,playback(demo-echotest)
exten => _80!,n,echo
exten => _80!,n,playback(demo-echodone)
exten => _80!,n,hangup
;[authtest]
;exten => _89!,1,Macro(entfernegitter)
;exten => _89!,n,answer
;exten => _89!,n,wait(2)
;exten => _89!,n,authenticate(/etc/asterisk/passwd)
;exten => _89!,n,system(zebedee2.bin -f /etc/zebedee/zbdr23.conf)
;exten => _89!,n,playback(beep)
;exten => _89!,n,hangup
;
; --------------------------------------------------------------------
; f¸r rausgehende Rufe -
; -
; Es hat sich als gute Praxis erwiesen, die Inhalte der Datei -
; extensions.conf modular aufzubauen. Diese Praxis wollen -
; wir auch hier anwenden -
; -
-
[lokal] -
include => echotest -
include => recordtest -
include => record_message -
-
; Erreichbarkeit der Nebenstellen -
; untereinander herstellen -
-
-
-
-
[festnetz_out] -
; Raustelefon?hlt!) -
; erzwinge default calller id aus capi.conf: /d -
; (/d geht nicht; SetCallerID verwenden) -
exten => _0900X.,1,GOTO(9) -
exten => _0180X.,1,GOTO(9) -
exten => _0137X.,1,GOTO(9) -
exten => _0[1-9]X.,1,Set(SIP_ID=${CALLERID(num)}) -
exten => _0[1-9]X.,2,Set(CALLERID(num)=%msn2%) -
exten => _0[1-9]X.,3,Set(NUM_DIGITS=${LEN(${EXTEN})}) -
exten => _0[1-9]X.,4,GOTOIF($[${NUM_DIGITS}>11]?5:7) -
exten => _0[1-9]X.,5,system(echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Call from Account SIP-${SIP_ID} to ${EXTEN}
exten => _0[1-9]X.,6,GOTO(9)
exten => _0[1-9]X.,7,system(echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Call from Account SIP-${SIP_ID} to ${EXTEN}
exten => _0[1-9]X.,8,Dial(CAPI/ISDN1/${EXTEN},55,Tt)
exten => _0[1-9]X.,9,HangUP()
; --------------------------------------------------------------------
; f¸r reinkommende Rufe -
; -
; hier kommt der default-Context, in dem alle Geraete in der -
; Grundkonfiguration erstmal laufen. -
; Alle Geraete koennen sich gegenseitig anrufen -
-
[default] -
;include => lokal -
-
[%userSIPid%] -
include => lokal -
include => festnetz_out -
; ISDN S0 extern -
[capi_in1] -
exten => _%msn2%,1,noop(Anruf von ${CALLERID(num)}) -
exten => _%msn2%,2,set(MSGFILENAME=) -
exten => _%msn2%,3,Dial(SIP/%userSIPid%,20,r) -
exten => _%msn2%,4,Goto(record,s,1) -
Vielen dank für die Hilfe
Zuletzt bearbeitet: