[Problem] FreePBX keine Sprachverständigung

Markus-Köln

Neuer User
Mitglied seit
26 Jul 2020
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hallo,

Ich habe Asterisk 16 - FreePBX 15 z.Zt. in einer Minimalkonfiguration laufen, d.h. noch ohne Inbond/Outbound Routen als "Insellösung".
Ich kann meine Nebenstellen SNOM 300 bzw. SNOM 360 und Zoiper auf dem Smartphone gegenseitig anrufen:
Ich bekomme Freizeichen, die Gegenstelle klingelt und zeigen den anrufende Apparat an.
Wenn ich abnehme, höre ich nichts.
Da ich -was die FreePBX/Asterisk anbetrifft- Anfänger bin, bitte ich Euch, mir zu sagen, welche weiteren Daten/Dateiinhalte Ihr ggf. braucht...
Schönen Dank
Markus
 
Welches Konzept zur Anbindung der lokalen Devices fährst Du denn hinsichtlich RTP? Passt Dein Netz dazu? Passen die jeweils definierten Codecs?
 
Wenn ich abnehme, höre ich nichts.
Schon seltsam. Wenn alles im lokalen Netz bleibt, also Du als Registrierung eine private IP-Adresse in den VoIP/SIP-Clients (Snom, Zoiper, …) eingegeben hast, wüsste ich nicht, warum das passieren sollte. Kannst Du den Datenverkehr (SIP, SDP und RTP) mal mitschneiden (entweder mit einem Switch der Port-Mirroring kann oder direkt auf dem Computer mit Sangoma FreePBX)?
 
Hallo zusammen,
vielen Dank für die Reaktionen.

@gehtdoch: Die codecs in der FreePBX Anlage sind g722, ulaw, alaw, gsm und g726.
Die codecs in den Telefonen sind (in allen identisch): g722, pcmu, pcma, gsm, g726-32, aal2-g726-32, g729 und telephone-event.
Wenn ich das richtig verstanden habe, müsste ein passender codec reichen...

@sonyKatze:
Ich hoffe, das ist jetzt nicht zu viel des Guten. Ich habs leider nicht geschafft, die Farben mit zu kopieren.

Code:
Setting global variable 'SIPDOMAIN' to '192.168.178.110'
  == Using SIP RTP Audio TOS bits 184
  == Using SIP RTP Audio TOS bits 184 in TCLASS field.
  == Using SIP RTP Audio CoS mark 5
    -- Executing [22@from-internal:1] GotoIf("PJSIP/21-00000010", "1?ext-local,22,1:followme-check,22,1") in new stack
    -- Goto (ext-local,22,1)
    -- Executing [22@ext-local:1] Set("PJSIP/21-00000010", "__RINGTIMER=20") in new stack
    -- Executing [22@ext-local:2] ExecIf("PJSIP/21-00000010", "0?Set(__CWIGNORE=)") in new stack
    -- Executing [22@ext-local:3] Macro("PJSIP/21-00000010", "exten-vm,novm,22,0,0,0") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("PJSIP/21-00000010", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("PJSIP/21-00000010", "TOUCH_MONITOR=1595952088.16") in new stack
    -- Executing [s@macro-user-callerid:2] Set("PJSIP/21-00000010", "AMPUSER=21") in new stack
    -- Executing [s@macro-user-callerid:3] Set("PJSIP/21-00000010", "HOTDESCKCHAN=21-00000010") in new stack
    -- Executing [s@macro-user-callerid:4] Set("PJSIP/21-00000010", "HOTDESKEXTEN=21") in new stack
    -- Executing [s@macro-user-callerid:5] Set("PJSIP/21-00000010", "HOTDESKCALL=0") in new stack
    -- Executing [s@macro-user-callerid:6] ExecIf("PJSIP/21-00000010", "0?Set(HOTDESKCALL=1)") in new stack
    -- Executing [s@macro-user-callerid:7] ExecIf("PJSIP/21-00000010", "0?Set(CALLERID(name)=)") in new stack
    -- Executing [s@macro-user-callerid:8] GotoIf("PJSIP/21-00000010", "0?report") in new stack
    -- Executing [s@macro-user-callerid:9] ExecIf("PJSIP/21-00000010", "1?Set(REALCALLERIDNUM=21)") in new stack
    -- Executing [s@macro-user-callerid:10] Set("PJSIP/21-00000010", "AMPUSER=21") in new stack
    -- Executing [s@macro-user-callerid:11] GotoIf("PJSIP/21-00000010", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:12] Set("PJSIP/21-00000010", "AMPUSERCIDNAME=SNOM 300-21") in new stack
    -- Executing [s@macro-user-callerid:13] ExecIf("PJSIP/21-00000010", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
    -- Executing [s@macro-user-callerid:14] GotoIf("PJSIP/21-00000010", "0?report") in new stack
    -- Executing [s@macro-user-callerid:15] Set("PJSIP/21-00000010", "AMPUSERCID=21") in new stack
    -- Executing [s@macro-user-callerid:16] Set("PJSIP/21-00000010", "__DIAL_OPTIONS=HhTtr") in new stack
    -- Executing [s@macro-user-callerid:17] Set("PJSIP/21-00000010", "CALLERID(all)="SNOM 300-21" <21>") in new stack
    -- Executing [s@macro-user-callerid:18] ExecIf("PJSIP/21-00000010", "0?Set(CUSDIAL=22)") in new stack
    -- Executing [s@macro-user-callerid:19] ExecIf("PJSIP/21-00000010", "0?Set(CALLERID(all)=SNOM 360-22)") in new stack
    -- Executing [s@macro-user-callerid:20] GotoIf("PJSIP/21-00000010", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:21] ExecIf("PJSIP/21-00000010", "0?Set(GROUP(concurrency_limit)=21)") in new stack
    -- Executing [s@macro-user-callerid:22] ExecIf("PJSIP/21-00000010", "0?Set(CHANNEL(language)=)") in new stack
    -- Executing [s@macro-user-callerid:23] NoOp("PJSIP/21-00000010", "Macro Depth is 2") in new stack
    -- Executing [s@macro-user-callerid:24] GotoIf("PJSIP/21-00000010", "1?report2:macroerror") in new stack
    -- Goto (macro-user-callerid,s,25)
    -- Executing [s@macro-user-callerid:25] GotoIf("PJSIP/21-00000010", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:26] ExecIf("PJSIP/21-00000010", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
    -- Executing [s@macro-user-callerid:27] Set("PJSIP/21-00000010", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:28] GotoIf("PJSIP/21-00000010", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,44)
    -- Executing [s@macro-user-callerid:44] Set("PJSIP/21-00000010", "CALLERID(number)=21") in new stack
    -- Executing [s@macro-user-callerid:45] Set("PJSIP/21-00000010", "CALLERID(name)=SNOM 300-21") in new stack
    -- Executing [s@macro-user-callerid:46] GotoIf("PJSIP/21-00000010", "0?cnum") in new stack
    -- Executing [s@macro-user-callerid:47] Set("PJSIP/21-00000010", "CDR(cnam)=SNOM 300-21") in new stack
    -- Executing [s@macro-user-callerid:48] Set("PJSIP/21-00000010", "CDR(cnum)=21") in new stack
    -- Executing [s@macro-user-callerid:49] Set("PJSIP/21-00000010", "CHANNEL(language)=de_DE") in new stack
    -- Executing [s@macro-exten-vm:2] Set("PJSIP/21-00000010", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("PJSIP/21-00000010", "__EXTTOCALL=22") in new stack
    -- Executing [s@macro-exten-vm:4] Set("PJSIP/21-00000010", "__PICKUPMARK=22") in new stack
    -- Executing [s@macro-exten-vm:5] Set("PJSIP/21-00000010", "RT=") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:6] ExecIf("PJSIP/21-00000010", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:7] ExecIf("PJSIP/21-00000010", "0?MacroExit()") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:8] ExecIf("PJSIP/21-00000010", "0?Gosub(ext-intercom,*8022,1())") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:9] ExecIf("PJSIP/21-00000010", "0?MacroExit()") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:10] ExecIf("PJSIP/21-00000010", "0?ChanSpy(PJSIP/22,q)") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:11] ExecIf("PJSIP/21-00000010", "0?MacroExit()") in new stack
[2020-07-28 18:01:28] WARNING[6424][C-00000009]: chan_sip.c:23160 func_header_read: This function can only be used on SIP channels.
    -- Executing [s@macro-exten-vm:12] ExecIf("PJSIP/21-00000010", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
    -- Executing [s@macro-exten-vm:13] ExecIf("PJSIP/21-00000010", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:14] ExecIf("PJSIP/21-00000010", "0?Gosub(ext-intercom,*8022,1())") in new stack
    -- Executing [s@macro-exten-vm:15] ExecIf("PJSIP/21-00000010", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:16] ExecIf("PJSIP/21-00000010", "0?ChanSpy(PJSIP/22,q)") in new stack
    -- Executing [s@macro-exten-vm:17] ExecIf("PJSIP/21-00000010", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:18] Gosub("PJSIP/21-00000010", "sub-record-check,s,1(exten,22,dontcare)") in new stack
    -- Executing [s@sub-record-check:1] GotoIf("PJSIP/21-00000010", "0?initialized") in new stack
    -- Executing [s@sub-record-check:2] Set("PJSIP/21-00000010", "__REC_STATUS=INITIALIZED") in new stack
    -- Executing [s@sub-record-check:3] Set("PJSIP/21-00000010", "NOW=1595952088") in new stack
    -- Executing [s@sub-record-check:4] Set("PJSIP/21-00000010", "__DAY=28") in new stack
    -- Executing [s@sub-record-check:5] Set("PJSIP/21-00000010", "__MONTH=07") in new stack
    -- Executing [s@sub-record-check:6] Set("PJSIP/21-00000010", "__YEAR=2020") in new stack
    -- Executing [s@sub-record-check:7] Set("PJSIP/21-00000010", "__TIMESTR=20200728-180128") in new stack
    -- Executing [s@sub-record-check:8] Set("PJSIP/21-00000010", "__FROMEXTEN=21") in new stack
    -- Executing [s@sub-record-check:9] Set("PJSIP/21-00000010", "__MON_FMT=wav") in new stack
    -- Executing [s@sub-record-check:10] NoOp("PJSIP/21-00000010", "Recordings initialized") in new stack
    -- Executing [s@sub-record-check:11] ExecIf("PJSIP/21-00000010", "0?Set(ARG3=dontcare)") in new stack
    -- Executing [s@sub-record-check:12] Set("PJSIP/21-00000010", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [s@sub-record-check:13] ExecIf("PJSIP/21-00000010", "0?Set(REC_STATUS=NO)") in new stack
    -- Executing [s@sub-record-check:14] GotoIf("PJSIP/21-00000010", "5?checkaction") in new stack
    -- Goto (sub-record-check,s,17)
    -- Executing [s@sub-record-check:17] GotoIf("PJSIP/21-00000010", "1?sub-record-check,exten,1") in new stack
    -- Goto (sub-record-check,exten,1)
    -- Executing [exten@sub-record-check:1] NoOp("PJSIP/21-00000010", "Exten Recording Check between 21 and 22") in new stack
    -- Executing [exten@sub-record-check:2] Set("PJSIP/21-00000010", "CALLTYPE=internal") in new stack
    -- Executing [exten@sub-record-check:3] ExecIf("PJSIP/21-00000010", "0?Set(CALLTYPE=)") in new stack
    -- Executing [exten@sub-record-check:4] Set("PJSIP/21-00000010", "CALLEE=dontcare") in new stack
    -- Executing [exten@sub-record-check:5] ExecIf("PJSIP/21-00000010", "0?Set(CALLEE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:6] GotoIf("PJSIP/21-00000010", "0?callee") in new stack
    -- Executing [exten@sub-record-check:7] GotoIf("PJSIP/21-00000010", "1?caller") in new stack
    -- Goto (sub-record-check,exten,13)
    -- Executing [exten@sub-record-check:13] Set("PJSIP/21-00000010", "RECMODE=dontcare") in new stack
    -- Executing [exten@sub-record-check:14] ExecIf("PJSIP/21-00000010", "0?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:15] ExecIf("PJSIP/21-00000010", "1?Set(RECMODE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:16] Gosub("PJSIP/21-00000010", "recordcheck,1(dontcare,internal,22)") in new stack
    -- Executing [recordcheck@sub-record-check:1] NoOp("PJSIP/21-00000010", "Starting recording check against dontcare") in new stack
    -- Executing [recordcheck@sub-record-check:2] Goto("PJSIP/21-00000010", "dontcare") in new stack
    -- Goto (sub-record-check,recordcheck,3)
    -- Executing [recordcheck@sub-record-check:3] Return("PJSIP/21-00000010", "") in new stack
    -- Executing [exten@sub-record-check:17] Return("PJSIP/21-00000010", "") in new stack
    -- Executing [s@macro-exten-vm:19] GotoIf("PJSIP/21-00000010", "1?macrodial") in new stack
    -- Goto (macro-exten-vm,s,25)
    -- Executing [s@macro-exten-vm:25] GosubIf("PJSIP/21-00000010", "0?clrheader,1()") in new stack
    -- Executing [s@macro-exten-vm:26] Macro("PJSIP/21-00000010", "dial-one,,HhTtr,22") in new stack
    -- Executing [s@macro-dial-one:1] Set("PJSIP/21-00000010", "DEXTEN=22") in new stack
    -- Executing [s@macro-dial-one:2] Set("PJSIP/21-00000010", "__CRM_SOURCE=21") in new stack
    -- Executing [s@macro-dial-one:3] ExecIf("PJSIP/21-00000010", "0?Set(__EXTTOCALL=22)") in new stack
    -- Executing [s@macro-dial-one:4] Set("PJSIP/21-00000010", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:5] GosubIf("PJSIP/21-00000010", "0?screen,1()") in new stack
    -- Executing [s@macro-dial-one:6] GosubIf("PJSIP/21-00000010", "0?cf,1()") in new stack
    -- Executing [s@macro-dial-one:7] GotoIf("PJSIP/21-00000010", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,10)
    -- Executing [s@macro-dial-one:10] GotoIf("PJSIP/21-00000010", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("PJSIP/21-00000010", "0?continue") in new stack
    -- Executing [s@macro-dial-one:12] Set("PJSIP/21-00000010", "EXTHASCW=ENABLED") in new stack
    -- Executing [s@macro-dial-one:13] GotoIf("PJSIP/21-00000010", "0?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,25)
    -- Executing [s@macro-dial-one:25] GotoIf("PJSIP/21-00000010", "0?next3:continue") in new stack
    -- Goto (macro-dial-one,s,27)
    -- Executing [s@macro-dial-one:27] GotoIf("PJSIP/21-00000010", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:28] GosubIf("PJSIP/21-00000010", "1?dstring,1():dlocal,1()") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("PJSIP/21-00000010", "DSTRING=") in new stack
    -- Executing [dstring@macro-dial-one:2] Set("PJSIP/21-00000010", "DEVICES=22") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("PJSIP/21-00000010", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("PJSIP/21-00000010", "0?Set(DEVICES=2)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("PJSIP/21-00000010", "LOOPCNT=1") in new stack
    -- Executing [dstring@macro-dial-one:6] Set("PJSIP/21-00000010", "ITER=1") in new stack
    -- Executing [dstring@macro-dial-one:7] Set("PJSIP/21-00000010", "THISDIAL=PJSIP/22") in new stack
    -- Executing [dstring@macro-dial-one:8] GotoIf("PJSIP/21-00000010", "0?docheck") in new stack
    -- Executing [dstring@macro-dial-one:9] NoOp("PJSIP/21-00000010", "Debug: Found PJSIP Destination PJSIP/22") in new stack
    -- Executing [dstring@macro-dial-one:10] GotoIf("PJSIP/21-00000010", "0?doset") in new stack
    -- Executing [dstring@macro-dial-one:11] NoOp("PJSIP/21-00000010", "Debug: Updating PJSIP Destination with PJSIP_DIAL_CONTACTS") in new stack
    -- Executing [dstring@macro-dial-one:12] Set("PJSIP/21-00000010", "THISDIAL=PJSIP/22/sip:[email protected]:2048;line=3edit88f") in new stack
    -- Executing [dstring@macro-dial-one:13] ExecIf("PJSIP/21-00000010", "0?Set(DIALSTATUS=CHANUNAVAIL)") in new stack
    -- Executing [dstring@macro-dial-one:14] GotoIf("PJSIP/21-00000010", "0?skipset") in new stack
    -- Executing [dstring@macro-dial-one:15] Set("PJSIP/21-00000010", "DSTRING=PJSIP/22/sip:[email protected]:2048;line=3edit88f&") in new stack
    -- Executing [dstring@macro-dial-one:16] Set("PJSIP/21-00000010", "ITER=2") in new stack
    -- Executing [dstring@macro-dial-one:17] GotoIf("PJSIP/21-00000010", "0?begin") in new stack
    -- Executing [dstring@macro-dial-one:18] ExecIf("PJSIP/21-00000010", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:19] Set("PJSIP/21-00000010", "DSTRING=PJSIP/22/sip:[email protected]:2048;line=3edit88f") in new stack
    -- Executing [dstring@macro-dial-one:20] Return("PJSIP/21-00000010", "") in new stack
    -- Executing [s@macro-dial-one:29] GotoIf("PJSIP/21-00000010", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:30] GotoIf("PJSIP/21-00000010", "0?skiptrace") in new stack
    -- Executing [s@macro-dial-one:31] GosubIf("PJSIP/21-00000010", "1?ctset,1():ctclear,1()") in new stack
    -- Executing [ctset@macro-dial-one:1] Set("PJSIP/21-00000010", "DB(CALLTRACE/22)=21") in new stack
    -- Executing [ctset@macro-dial-one:2] Return("PJSIP/21-00000010", "") in new stack
    -- Executing [s@macro-dial-one:32] Set("PJSIP/21-00000010", "D_OPTIONS=HhTtr") in new stack
    -- Executing [s@macro-dial-one:33] GosubIf("PJSIP/21-00000010", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
    -- Executing [s@macro-dial-one:34] NoOp("PJSIP/21-00000010", "Blind Transfer: , Attended Transfer: , User: 21, Alert Info: ") in new stack
    -- Executing [s@macro-dial-one:35] ExecIf("PJSIP/21-00000010", "1?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:36] ExecIf("PJSIP/21-00000010", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:37] ExecIf("PJSIP/21-00000010", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:38] ExecIf("PJSIP/21-00000010", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
    -- Executing [s@macro-dial-one:39] ExecIf("PJSIP/21-00000010", "0?Set(ALERT_INFO=Normal;volume=)") in new stack
    -- Executing [s@macro-dial-one:40] GosubIf("PJSIP/21-00000010", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
    -- Executing [s@macro-dial-one:41] ExecIf("PJSIP/21-00000010", "0?Set(CHANNEL(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:42] GosubIf("PJSIP/21-00000010", "0?qwait,1()") in new stack
    -- Executing [s@macro-dial-one:43] Set("PJSIP/21-00000010", "__CWIGNORE=") in new stack
    -- Executing [s@macro-dial-one:44] Set("PJSIP/21-00000010", "__KEEPCID=TRUE") in new stack
    -- Executing [s@macro-dial-one:45] GotoIf("PJSIP/21-00000010", "0?usegoto,1") in new stack
    -- Executing [s@macro-dial-one:46] GotoIf("PJSIP/21-00000010", "0?godial") in new stack
    -- Executing [s@macro-dial-one:47] Gosub("PJSIP/21-00000010", "sub-presencestate-display,s,1(22)") in new stack
    -- Executing [s@sub-presencestate-display:1] Goto("PJSIP/21-00000010", "state-not_set,1") in new stack
    -- Goto (sub-presencestate-display,state-not_set,1)
    -- Executing [state-not_set@sub-presencestate-display:1] Set("PJSIP/21-00000010", "PRESENCESTATE_DISPLAY=") in new stack
    -- Executing [state-not_set@sub-presencestate-display:2] Return("PJSIP/21-00000010", "") in new stack
    -- Executing [s@macro-dial-one:48] Set("PJSIP/21-00000010", "CONNECTEDLINE(name,i)=SNOM 360-22") in new stack
    -- Executing [s@macro-dial-one:49] Set("PJSIP/21-00000010", "CONNECTEDLINE(num)=22") in new stack
    -- Executing [s@macro-dial-one:50] Set("PJSIP/21-00000010", "D_OPTIONS=HhTtr") in new stack
    -- Executing [s@macro-dial-one:51] Macro("PJSIP/21-00000010", "dialout-one-predial-hook,") in new stack
    -- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("PJSIP/21-00000010", "") in new stack
    -- Executing [s@macro-dial-one:52] ExecIf("PJSIP/21-00000010", "0?Set(D_OPTIONS=HhtrI)") in new stack
    -- Executing [s@macro-dial-one:53] ExecIf("PJSIP/21-00000010", "0?Set(CWRING=r(callwaiting)):Set(CWRING=)") in new stack
    -- Executing [s@macro-dial-one:54] NoOp("PJSIP/21-00000010", "") in new stack
    -- Executing [s@macro-dial-one:55] ExecIf("PJSIP/21-00000010", "0?Set(D_OPTIONS=HhTtrg)") in new stack
    -- Executing [s@macro-dial-one:56] Dial("PJSIP/21-00000010", "PJSIP/22/sip:[email protected]:2048;line=3edit88f,,HhTtrb(func-apply-sipheaders^s^1)") in new stack
    -- PJSIP/22-00000011 Internal Gosub(func-apply-sipheaders,s,1) start
    -- Executing [s@func-apply-sipheaders:1] ExecIf("PJSIP/22-00000011", "0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)") in new stack
    -- Executing [s@func-apply-sipheaders:2] NoOp("PJSIP/22-00000011", "Applying SIP Headers to channel PJSIP/22-00000011") in new stack
    -- Executing [s@func-apply-sipheaders:3] Set("PJSIP/22-00000011", "TECH=PJSIP") in new stack
    -- Executing [s@func-apply-sipheaders:4] Set("PJSIP/22-00000011", "SIPHEADERKEYS=") in new stack
    -- Executing [s@func-apply-sipheaders:5] While("PJSIP/22-00000011", "0") in new stack
    -- Jumping to priority 13
    -- Executing [s@func-apply-sipheaders:14] Return("PJSIP/22-00000011", "") in new stack
  == Spawn extension (from-internal, 22, 1) exited non-zero on 'PJSIP/22-00000011'
    -- PJSIP/22-00000011 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
    -- Called PJSIP/22/sip:[email protected]:2048;line=3edit88f
  == Using SIP RTP Audio TOS bits 184
  == Using SIP RTP Audio TOS bits 184 in TCLASS field.
  == Using SIP RTP Audio CoS mark 5
    -- PJSIP/22-00000011 is ringing
    -- PJSIP/22-00000011 is ringing
       > 0x7f5c7c084200 -- Strict RTP learning after remote address set to: 192.168.178.122:53150
    -- PJSIP/22-00000011 answered PJSIP/21-00000010
       > 0x7f5c7c0607f0 -- Strict RTP learning after remote address set to: 192.168.178.121:50662
    -- Channel PJSIP/22-00000011 joined 'simple_bridge' basic-bridge <206e9037-65da-4c6d-9c09-515f68679599>
    -- Channel PJSIP/21-00000010 joined 'simple_bridge' basic-bridge <206e9037-65da-4c6d-9c09-515f68679599>
    -- Channel PJSIP/21-0000000e left 'simple_bridge' basic-bridge <fac85b95-1478-4955-a927-fc82d82f3bd7>
  == Spawn extension (macro-dial-one, s, 56) exited non-zero on 'PJSIP/21-0000000e' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 26) exited non-zero on 'PJSIP/21-0000000e' in macro 'exten-vm'
  == Spawn extension (ext-local, 22, 3) exited non-zero on 'PJSIP/21-0000000e'
    -- Executing [h@ext-local:1] Macro("PJSIP/21-0000000e", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/21-0000000e", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Channel PJSIP/22-0000000f left 'simple_bridge' basic-bridge <fac85b95-1478-4955-a927-fc82d82f3bd7>
    -- Executing [s@macro-hangupcall:3] ExecIf("PJSIP/21-0000000e", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] NoOp("PJSIP/21-0000000e", "PJSIP/22-0000000f montior file= ") in new stack
    -- Executing [s@macro-hangupcall:5] GotoIf("PJSIP/21-0000000e", "1?skipagi") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] Hangup("PJSIP/21-0000000e", "") in new stack
  == Spawn extension (macro-hangupcall, s, 7) exited non-zero on 'PJSIP/21-0000000e' in macro 'hangupcall'
  == Spawn extension (ext-local, h, 1) exited non-zero on 'PJSIP/21-0000000e'
    -- Channel PJSIP/21-00000010 left 'simple_bridge' basic-bridge <206e9037-65da-4c6d-9c09-515f68679599>
  == Spawn extension (macro-dial-one, s, 56) exited non-zero on 'PJSIP/21-00000010' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 26) exited non-zero on 'PJSIP/21-00000010' in macro 'exten-vm'
  == Spawn extension (ext-local, 22, 3) exited non-zero on 'PJSIP/21-00000010'
    -- Executing [h@ext-local:1] Macro("PJSIP/21-00000010", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/21-00000010", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] ExecIf("PJSIP/21-00000010", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] NoOp("PJSIP/21-00000010", "PJSIP/22-00000011 montior file= ") in new stack
    -- Channel PJSIP/22-00000011 left 'simple_bridge' basic-bridge <206e9037-65da-4c6d-9c09-515f68679599>
    -- Executing [s@macro-hangupcall:5] GotoIf("PJSIP/21-00000010", "1?skipagi") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s@macro-hangupcall:7] Hangup("PJSIP/21-00000010", "") in new stack
  == Spawn extension (macro-hangupcall, s, 7) exited non-zero on 'PJSIP/21-00000010' in macro 'hangupcall'
  == Spawn extension (ext-local, h, 1) exited non-zero on 'PJSIP/21-00000010'
freepbx*CLI>
 
Zuletzt bearbeitet:
Mit Mitschneiden meinte ich den Datenverkehr, also was tatsächlich über Ethernet übertragen wird. Die Stichworte sind Port-Mirroring bzw. Wireshark.
 
Zuletzt bearbeitet:
Hallo Markus,

ich habe im Grunde das gleiche Problem wie Du und leider auch noch keine Lösung.

Ich habe zwei Varianten von FreePBX versucht.

Die Variante die nicht läuft - also auch keine Sprachverbindung herstellt läuft auf einem RaspberryPi 3B.

Die Variante die funktioniert habe ich als virtuelle Maschine auf einem ESXi-Server laufen.

An beiden Varianten habe ich die selben Endgeräte angeschaltet - einmal ein Softwarephone und einmal ein Grandstream 1625 VoIP Telefon.

Beider Rechner hängen an dem selben Switch in einem privaten Netzwerk - also absolut gleiche Voraussetzungen.

Da ich bisher nur interne Telefonverbindungen getestet habe ist da auch nirgends eine Firewall oder etwas in der Art dazwischen.

Die Konfiguration in dem VoIP Telefonen sind bei beiden Varianten absolut gleich. Um nicht eventuell weitere Fehler einzubauen ändere ich an diesen Konfigurationen nichts außer natürlich die IP-Adresse zur jeweiligen Asterisk-Anlage.

Die jeweiligen Konfigs der FreePBX Versionen sind bei mir zu 99% gleich.

Trotzdem läuft die Raspberry-Version nicht.

Da ich keine Lust habe einen stromfressenden PC laufen zu lassen nur um eine kleine Telefonanlage zu realisieren stehe ich jetzt auch auf dem Schlauch und komme nicht weiter.

Schöne Grüße
dn.walker
 
Wie läuft denn bei Euch beiden der RTP-Strom? Peer2Peer oder via Asterisk als man in the middle? Was hindert Euch daran, Traces mit pcapsipdump zu machen (auf dem Asterisk) und die dann mit Wireshark auszuwerten? Ohne die ist das alles nur Kaffeesatzleserei und Zeitverschwendung - so dass man wenigstens mal weiß, wie es überhaupt ticken soll und woran es denn nun konkret klemmt. Alles Weitere danach.

Zur Hardware: ordentliche Hardware für FreePBX mit dem original Sangoma-Image ist eine APU2. Dazu den Inteltreiber für die NIC (der im Kernel sich befindliche Treiber taugt zumindest bei mir nichts für realtime - macht nur Probleme - außerdem habe ich den Kernel aus dem CentOS 7 durch den LTS-Kernel 4.14.x ausgetauscht, weil der mit der APU richtig klar kommt). Mit einer SD-Karte braucht der dann 6 Watt hier (ist gleichzeitig Router und Portfitler und pppoe Endpoint).
 
Hallo,

ich fange gerade mit Asterisk an und habe da noch wenig Erfahrungen. Ich dachte eigentlich das Asterisk immer nur im Grunde der Vermittler ist und der RTP-Stream danach lediglich zwischen den Endgeräten läuft. Aber jetzt habe ich wieder etwas gelernt.
die Hardware hört sich schon klasse an und bei der Leistungsaufnahme schon eine Überlegung wert.
Ich wollte halt "mal eben" mit dem Raspberry in das Gebiet schnuppern.
Die Wahl ist auf FreePBX gefallen weil ich jetzt nicht wirklich Lust habe einen Haufen Dateien mit der Hand zu editieren und die Lösung eben eine schönes GUI hat.

Das pcapsipdump muss ich mir mal ansehen - kannte ich auch nicht.

Was mich halt wundert ist das ich ja beide Lösungen gleich konfiguriert habe und eben nur eine Lösung läuft.

Es ist doch die selbe Software und unter der Motorhaube tickt ja auch das gleiche Herz. Das ist was ich eben nicht verstehe.


Also danke schon mal für die Infos
 
@dn.walker: Sehr interessant, hatte ich doch das gleiche vor. Asterisk/FreePBX läuft bei mir z.Zt. alleine auf einem uralt PC (Stand noch rum), nachdem das System läuft sollte es auf einen dazu zu beschaffenden RaspberryPi umgezogen werden. Der PC wird z.Zt. nur zum testen eingeschaltet, er frist mir dauerhaft zuviel Strom.
Danke daher für den Hinweis, selbst eine funktionerende Konfiguration auf dem PC bietet also keine Gewähr, dass es auf dem Raspi läuft...

@gehtdoch: Was mich an der Auswertung hindert? Das ich sowas noch nie gemacht habe. Ich hab mir Wireshark angesehen, wenn ich das richtig verstanden habe, muss ich den eigentlichen Mitschnitt auf dem dedizierten Asterisk-PC machen. Hab schon versucht herauszubekommen, wie ich Wireshark auf dem Sangoma Linux installiere. Ich arbeite seit Jahren ausschließlich mit Linux (Ubuntu), bin aber trotzdem eher der Anwender. Du lieferst mir mit pcapsipdump ein neues Stichwort, das sehe ich mir an. Sowas dauert bei mir aber, weil ich die tools nicht kenne und mich erst einarbeiten muss.
 
Wenn Ihr Probleme habt auf den Host-Computern direkt einen Paket-Mitschnitt zu erstellen, holt Euch bitte einen Switch mit Port-Mirroring. Dann könnt Ihr in Zukunft jedes Gerät auch Embedded mitschneiden; und das auch noch live. Das ist einmal gekauft und einmal konfiguriert tatsächlich nur noch Ethernet-Kabel darin, Ethernet-Kabel hierhin. Alles andere ist wirklich Lebenszeit-Verschwendung. Wir helfen gerne bei der Auswertung bzw. Interpretation und Konfiguration. Aber ohne Logs kann es wirklich alles Unmögliche sein (wobei ich ehrlich noch nicht mal eine Idee habe, was es sein könnte).
 
Zuletzt bearbeitet:
Hallo zusammen,

Switch mit Port-Mirroring habe ich eh hier....

Ich habe jetzt mal einen Mitschnitt mit Wireshark (unter Windows) gemacht.

Die Frage wäre jetzt wie bringe ich das Ergebnis hier im Forum ein?

Kann ich hier die ganze Capture-Datei anhängen oder einen Screenshot als Bild einfügen?

Wie kann man bei Wireshark nur die Einträge die ich mit dem Anzeigefilter gefiltert habe abspeichern?

Eine Menge Fragen .... ich muss mich echt mal mehr mit dem Thema beschäftigen.

Gruß
dn.walker
 
Wireshark auf dem Asterisk Server zu installieren ist aus mehreren Gründen vollständig daneben - sogar ein absolutes nogo. Dafür gibt es pcapsipdump. Schreibt Dir für jeden Call z.B. eine dedizierte pcap-Datei, die Du dann in aller Ruhe mit Wireshark auf einem beliebigen Rechner auswerten kannst. Wireshark selbst hat ein extra Menu zur Auswertung von VoIP. Das hilft ungemein. Dann muss man "nur" noch SIP verstehen.
Auch tcpdump mit den richtigen Parametern kannst Du im Notfall statt pcapsipdump dafür verwenden (ist dann eben nur eine Datei als großer Blob).

pcapsipdump auf dem Asterisk Server selbst hat den Vorteil, dass man genau sieht, was Asterisk treibt und auch das BS - z.B. sieht man auch eingehende Pakete, die von der Firewall geblockt werden (man muss über das Ergebnis trotzdem noch nachdenken) - ein spezieller Switch mit Snifferport ist also nicht unbedingt nötig. V.a. sieht man beide Seiten (meistens gibt es ja einen eingehenden und einen ausgehenden Call - in der Regel in unterschiedlichen Netzen und damit auch an unterschiedlichen Switchen - man hat dann auch kein Problem mit dem Timing der Pakete - das muss ja auch zusammenpassen - sonst wird die Auswertung schnell extrem komplex bzw. unschön (vorsichtig formuliert)).

Ansonsten: VoIP benötigt sehr viel Wissen - Wissen, das sehr weit über den eigentlichen Asterisk / FreePBX - Part rausgeht. Das BS (und v.a. dessen korrekte Konfiguration bis in die letzten Ecken) ist da sehr stark relevant und hat erhebliche Auswirkungen, die nicht zu unterschätzen sind (wir haben es hier mit einer Realtime-Anwendung zu tun). Auch die eingesetzte Hardware entscheidet hier sehr stark zwischen gut und nicht brauchbar. Auch Kernelversionen können hier sehr schnell zum Problem werden. Das kann dauern, bis man mal eine gefunden hat, die die Anforderungen (in Verbindung mit der Hardware!) tatsächlich ohne mit der Wimper zu zucken, erfüllt. Alles schon mitgemacht. Rechne mal locker ein Jahr oder mehr bis zu einem absolut stabil und zuverlässig und sicher funktionierenden Server, falls Du das ganze nicht Volltags betreibst.

Die Entscheidung, das via FreePBX zu machen und nicht selbst einen Dialplan zu basteln und was sonst noch dazugehört, ist auf jeden Fall die Richtige (wenn man nicht gerade zum Dialplanentwickler werden will) - die Begründung wurde hier ja schon genannt. Du wirst trotzdem noch genügend beschäftigt sein - kann aber auch sehr viel Spaß machen, wenn man das nötige grundsätzliche weite Interesse und die Zeit mitbringt.

Zu den Wireshark-Fragen: das sind FAQs, die auf den Wireshark-Seiten erläutert werden. Da wird auch erklärt, wie man SIP auswertet.
 
Erstmal brauchen wir das Log nicht. Wir helfen Dir Schritt für Schritt durch.
Ich habe jetzt mal einen Mitschnitt mit Wireshark (unter Windows) gemacht.
Dann filtere mal nach: sdp || rtp
Machen die IP-Adressen irgendwie Sinn?

Wenn bei RTP nichts erscheint, konnte Wireshark die Pakete nicht zuordnen. In dem Fall nur nach udp filtern und mit einem Kontext- bzw. Rechts-Klick auf eines der Datenpakete den Strom als RTP markieren. Siehst Du jetzt den verwendeten Audio-Codec? Eine Richtung, beide Richtungen?
 
Erst mal zum Messaufbau...

Ich habe an einem Switch einmal einen PC mit Softphone, dann ein VoIP-Telefon Grandstream 1625 und natürlich den RaspberryPi auf dem eben FreePBX installiert ist. Den Verkehr dieser 3 Ports sende ich auf den Mirror-Port an dem ein extra Windows PC mit Wireshark hängt.

Auf dem Raspi habe ich eine frische RasPBX installiert und alle angebotenen Updates eingespielt. Ich habe dann eigentlich nur die beiden Nebenstellen mit PJSip eingerichtet. Sonst habe ich keine Einstellungen in der FreePBX verändert.

Ich habe dann versucht eine Verbindung zwischen dem VoIP Telefon und dem Softphone aufzubau. Der Ruf geht raus und das Softphone klingelt.

Hebt man jetzt den Hörer ab hört man nichts und nach 30 Sekunden wird dann die Verbindung beendet.

Ich habe den Mitschnitt dann erst mal mit dem Anzeigefilter SIP angesehen. Da ich mich jetzt damit noch nicht auskenne habe ich da erst mal keinen Hinweis gefunden.

Soweit ich die IP-Adressen angesehen haben passt da alles zusammen.

Dann habe ich mal mit den VOIP-Funktionen von Wireshark den RTP Verkehr versucht zu überprüfen.

Ich habe einen Stream mit der Funktion analysieren durchlaufen zu lassen. Danach hat man ja dann die Möglichkeit sich den Stream anzuhören.

Das Ergebnis ist das auch dort Totenstille herrscht.

Weiter bin ich jetzt noch nicht gekommen.

Was sich natürlich super anhört ist das Tool pcapsipdump .

Ist natürlich schön wenn das Tool für jeden Call ein einzelnes File erzeugt.

Jetzt bin ich absolut kein Linux-Profi und da stellt sich mir die Frage wie installiert man das auf dem Raspberry?

Noch habe ich keine Anleitung gefunden aber ich suche noch.

Gruß
dn.walker
 
[…] Anzeigefilter SIP […] Soweit ich die IP-Adressen angesehen haben passt da alles zusammen.
Ich schrieb nicht sip sondern sdp || rtp. Hast Du auch das bereits angeschaut:
Kommen und gehen RTP-Pakete vom FreePPX bzw. den SIP-Clients?
 
Ich schrieb nicht sip sondern sdp || rtp. Hast Du auch das bereits angeschaut:
Kommen und gehen RTP-Pakete vom FreePPX bzw. den SIP-Clients?

Das habe ich schon richtig gelesen aber die ersten Test habe ich gemacht bevor ich Deinen Beitrag gelesen hatten.

Ich werde Deine Vorschläge aber klar auch noch durcharbeiten.

Leider kann ich mich nicht rund um die Uhr mit dem Hobby beschäftigen ;-)

Gruß
dn.walker
 
Hallo zusammen,

ich habe jetzt mal sdp || rtp. im Anzeigefilter den Mitschnitt betrachtet.

VOIP2.JPG
Bild gemäß Boardregeln geschrumpft by stoney

Jetzt bin ich aber etwas irritiert....

Die 192.168.1.47 ist mein Asterisk auf dem Raspi.
Die 192.168.1.95 ist das Grandstream VOIP Telefon
Die 192.168.1.87 ist der PC auf dem das Softphone läuft.

Aber warum zum Teufel laufen da RTP Pakete zu der 188.195.237.73???

Oder lese ich das falsch.

Das Netz gehört laut Tante Google zu kabel-deutschland.

Ich bin aber nicht bei kabel-deutschland und auch noch nie gewesen.

Bin ich da jetzt komplett auf dem Holzweg.

Ach ja einen Trunk zu irgendeinem Provider habe ich im Raspi noch nicht konfiguriert.

Die RasPBX läuft praktisch wie out of the Box.

Gruß
dn.walker
 
Zuletzt bearbeitet von einem Moderator:
Moinsen


Softphone ( *.87 )
Ist da ein STUN Server konfiguriert?
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,832
Beiträge
2,219,107
Mitglieder
371,534
Neuestes Mitglied
vignajeanniegolabek
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.