Dahua IP Video Door phone

k0ral

n3wb
Joined
Feb 10, 2016
Messages
4
Reaction score
0

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
I would just hope they have the latency down compared to their other IP cameras if it would be used for two way communication with someone. Nobody has anything like this where I live :)
 

nayr

IPCT Contributor
Joined
Jul 16, 2014
Messages
9,329
Reaction score
5,325
Location
Denver, CO
my latest Dahua 4MP IVS camera has two-way talk, and something very interesting in the configuration.. a bunch of SIP Settings, clearly the translations are very poor and Ive not found any documentation..

but if if you can hook up its mic/speaker to a VoIP SIP server; the latency for voice would be extremely low.. Kinda curious to play with it since I have an asterisk server.. would be cool to have an extension to call from my phones to talk to someone at the front door.
 

Attachments

ruppmeister

Getting the hang of it
Joined
Apr 15, 2015
Messages
668
Reaction score
98
my latest Dahua 4MP IVS camera has two-way talk, and something very interesting in the configuration.. a bunch of SIP Settings, clearly the translations are very poor and Ive not found any documentation..

but if if you can hook up its mic/speaker to a VoIP SIP server; the latency for voice would be extremely low.. Kinda curious to play with it since I have an asterisk server.. would be cool to have an extension to call from my phones to talk to someone at the front door.
Or better even, have the camera motion/line cross/face detect trigger the VoIP call to you so you know when someone is there and can pickup quickly :)
 

k0ral

n3wb
Joined
Feb 10, 2016
Messages
4
Reaction score
0
I talked with the technician of the online store and he told me that the internal unit has a VoIP server.
I wanted to know if I can use my own VoIP server but he couldn't answer me. I wanted to try not buying the internal unit and use only the external unit with an Android tablet or something else.
By the way, I am not an expert of VoIP SIP server...I bought even the internal unit because my father needs a video door phone :)
I am waiting to receive it. If someone (VoIP SIP expert) wants to do some tests with me I am available and curious :)
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
Hi there,

Anyone got video working over SIP? I have one of these VTO2000A intercoms. I am able to initiate SIP calls when the button is pressed, but no idea if it's possible to get video in the call.

Thanks!
 

nayr

IPCT Contributor
Joined
Jul 16, 2014
Messages
9,329
Reaction score
5,325
Location
Denver, CO
can you get a sip trace? should be able to see if its advertising video capabilities and what they are.
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
I will give it a go. Is that a matter of turning on verbose debugging in Asterisk?
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
Hi again,

I will paste my asterisk debug info here. Excuse me if it's a bit too verbose.

This first post shows a successful call when I configured my VTO2000A (extension 8001) to directly call my laptop which has X-Lite installed (extension 8002). When the VTO button was pressed, it called my laptop. I then answered and was able to keep the call active without issue. This scenario works fine.

VTO calling other extension directly

Asterisk 13.11.2, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 13.11.2 currently running on raspbx (pid = 1809)
== Using SIP VIDEO TOS bits 136
== Using SIP VIDEO CoS mark 6
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [8002@from-internal:1] Set("SIP/8001-00000002", "__RINGTIMER=15") in new stack
-- Executing [8002@from-internal:2] Macro("SIP/8001-00000002", "exten-vm,novm,8002,0,0,0") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/8001-00000002", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/8001-00000002", "TOUCH_MONITOR=1475821418.2") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/8001-00000002", "AMPUSER=8001") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/8001-00000002", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/8001-00000002", "1?Set(REALCALLERIDNUM=8001)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/8001-00000002", "AMPUSER=8001") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/8001-00000002", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/8001-00000002", "AMPUSERCIDNAME=Doorbell") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/8001-00000002", "0?report") in new stack
-- Executing [s@macro-user-callerid:9] Set("SIP/8001-00000002", "AMPUSERCID=8001") in new stack
-- Executing [s@macro-user-callerid:10] Set("SIP/8001-00000002", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/8001-00000002", "CALLERID(all)="Doorbell" <8001>") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/8001-00000002", "0?limit") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("SIP/8001-00000002", "0?Set(GROUP(concurrency_limit)=8001)") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("SIP/8001-00000002", "0?continue") in new stack
-- Executing [s@macro-user-callerid:15] Set("SIP/8001-00000002", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/8001-00000002", "1?continue") in new stack
-- Goto (macro-user-callerid,s,27)
-- Executing [s@macro-user-callerid:27] Set("SIP/8001-00000002", "CALLERID(number)=8001") in new stack
-- Executing [s@macro-user-callerid:28] Set("SIP/8001-00000002", "CALLERID(name)=Doorbell") in new stack
-- Executing [s@macro-user-callerid:29] GotoIf("SIP/8001-00000002", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:30] Set("SIP/8001-00000002", "CDR(cnam)=Doorbell") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/8001-00000002", "CDR(cnum)=8001") in new stack
-- Executing [s@macro-user-callerid:32] Set("SIP/8001-00000002", "CHANNEL(language)=en") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/8001-00000002", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/8001-00000002", "__EXTTOCALL=8002") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/8001-00000002", "__PICKUPMARK=8002") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/8001-00000002", "RT=") in new stack
-- Executing [s@macro-exten-vm:6] Gosub("SIP/8001-00000002", "sub-record-check,s,1(exten,8002,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("SIP/8001-00000002", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("SIP/8001-00000002", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("SIP/8001-00000002", "NOW=1475821418") in new stack
-- Executing [s@sub-record-check:4] Set("SIP/8001-00000002", "__DAY=07") in new stack
-- Executing [s@sub-record-check:5] Set("SIP/8001-00000002", "__MONTH=10") in new stack
-- Executing [s@sub-record-check:6] Set("SIP/8001-00000002", "__YEAR=2016") in new stack
-- Executing [s@sub-record-check:7] Set("SIP/8001-00000002", "__TIMESTR=20161007-172338") in new stack
-- Executing [s@sub-record-check:8] Set("SIP/8001-00000002", "__FROMEXTEN=8001") in new stack
-- Executing [s@sub-record-check:9] Set("SIP/8001-00000002", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("SIP/8001-00000002", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("SIP/8001-00000002", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("SIP/8001-00000002", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("SIP/8001-00000002", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("SIP/8001-00000002", "5?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("SIP/8001-00000002", "1?sub-record-check,exten,1") in new stack
-- Goto (sub-record-check,exten,1)
-- Executing [exten@sub-record-check:1] NoOp("SIP/8001-00000002", "Exten Recording Check between 8001 and 8002") in new stack
-- Executing [exten@sub-record-check:2] Set("SIP/8001-00000002", "CALLTYPE=internal") in new stack
-- Executing [exten@sub-record-check:3] ExecIf("SIP/8001-00000002", "0?Set(CALLTYPE=)") in new stack
-- Executing [exten@sub-record-check:4] Set("SIP/8001-00000002", "CALLEE=dontcare") in new stack
-- Executing [exten@sub-record-check:5] ExecIf("SIP/8001-00000002", "0?Set(CALLEE=dontcare)") in new stack
-- Executing [exten@sub-record-check:6] GotoIf("SIP/8001-00000002", "0?callee") in new stack
-- Executing [exten@sub-record-check:7] GotoIf("SIP/8001-00000002", "1?caller") in new stack
-- Goto (sub-record-check,exten,13)
-- Executing [exten@sub-record-check:13] Set("SIP/8001-00000002", "RECMODE=dontcare") in new stack
-- Executing [exten@sub-record-check:14] ExecIf("SIP/8001-00000002", "0?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:15] ExecIf("SIP/8001-00000002", "1?Set(RECMODE=dontcare)") in new stack
-- Executing [exten@sub-record-check:16] Gosub("SIP/8001-00000002", "recordcheck,1(dontcare,internal,8002)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("SIP/8001-00000002", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("SIP/8001-00000002", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("SIP/8001-00000002", "") in new stack
-- Executing [exten@sub-record-check:17] Return("SIP/8001-00000002", "") in new stack
-- Executing [s@macro-exten-vm:7] GotoIf("SIP/8001-00000002", "1?macrodial") in new stack
-- Goto (macro-exten-vm,s,13)
-- Executing [s@macro-exten-vm:13] GosubIf("SIP/8001-00000002", "0?clrheader,1()") in new stack
-- Executing [s@macro-exten-vm:14] Macro("SIP/8001-00000002", "dial-one,,Ttr,8002") in new stack
-- Executing [s@macro-dial-one:1] Set("SIP/8001-00000002", "DEXTEN=8002") in new stack
-- Executing [s@macro-dial-one:2] Set("SIP/8001-00000002", "DIALSTATUS_CW=") in new stack
-- Executing [s@macro-dial-one:3] GosubIf("SIP/8001-00000002", "0?screen,1()") in new stack
-- Executing [s@macro-dial-one:4] GosubIf("SIP/8001-00000002", "0?cf,1()") in new stack
-- Executing [s@macro-dial-one:5] GotoIf("SIP/8001-00000002", "1?skip1") in new stack
-- Goto (macro-dial-one,s,8)
-- Executing [s@macro-dial-one:8] GotoIf("SIP/8001-00000002", "0?nodial") in new stack
-- Executing [s@macro-dial-one:9] GotoIf("SIP/8001-00000002", "0?continue") in new stack
-- Executing [s@macro-dial-one:10] Set("SIP/8001-00000002", "EXTHASCW=ENABLED") in new stack
-- Executing [s@macro-dial-one:11] GotoIf("SIP/8001-00000002", "0?next1:cwinusebusy") in new stack
-- Goto (macro-dial-one,s,23)
-- Executing [s@macro-dial-one:23] GotoIf("SIP/8001-00000002", "0?next3:continue") in new stack
-- Goto (macro-dial-one,s,25)
-- Executing [s@macro-dial-one:25] GotoIf("SIP/8001-00000002", "0?nodial") in new stack
-- Executing [s@macro-dial-one:26] GosubIf("SIP/8001-00000002", "1?dstring,1():dlocal,1()") in new stack
-- Executing [dstring@macro-dial-one:1] Set("SIP/8001-00000002", "DSTRING=") in new stack
-- Executing [dstring@macro-dial-one:2] Set("SIP/8001-00000002", "DEVICES=8002") in new stack
-- Executing [dstring@macro-dial-one:3] ExecIf("SIP/8001-00000002", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:4] ExecIf("SIP/8001-00000002", "0?Set(DEVICES=002)") in new stack
-- Executing [dstring@macro-dial-one:5] Set("SIP/8001-00000002", "LOOPCNT=1") in new stack
-- Executing [dstring@macro-dial-one:6] Set("SIP/8001-00000002", "ITER=1") in new stack
-- Executing [dstring@macro-dial-one:7] Set("SIP/8001-00000002", "THISDIAL=SIP/8002") in new stack
-- Executing [dstring@macro-dial-one:8] GosubIf("SIP/8001-00000002", "1?zap2dahdi,1()") in new stack
-- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/8001-00000002", "0?Return()") in new stack
-- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/8001-00000002", "NEWDIAL=") in new stack
-- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/8001-00000002", "LOOPCNT2=1") in new stack
-- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/8001-00000002", "ITER2=1") in new stack
-- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/8001-00000002", "THISPART2=SIP/8002") in new stack
-- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/8001-00000002", "0?Set(THISPART2=DAHDI/8002)") in new stack
-- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/8001-00000002", "NEWDIAL=SIP/8002&") in new stack
-- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/8001-00000002", "ITER2=2") in new stack
-- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/8001-00000002", "0?begin2") in new stack
-- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/8001-00000002", "THISDIAL=SIP/8002") in new stack
-- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/8001-00000002", "") in new stack
-- Executing [dstring@macro-dial-one:9] GotoIf("SIP/8001-00000002", "1?docheck") in new stack
-- Goto (macro-dial-one,dstring,12)
-- Executing [dstring@macro-dial-one:12] GotoIf("SIP/8001-00000002", "0?skipset") in new stack
-- Executing [dstring@macro-dial-one:13] Set("SIP/8001-00000002", "DSTRING=SIP/8002&") in new stack
-- Executing [dstring@macro-dial-one:14] Set("SIP/8001-00000002", "ITER=2") in new stack
-- Executing [dstring@macro-dial-one:15] GotoIf("SIP/8001-00000002", "0?begin") in new stack
-- Executing [dstring@macro-dial-one:16] ExecIf("SIP/8001-00000002", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:17] Set("SIP/8001-00000002", "DSTRING=SIP/8002") in new stack
-- Executing [dstring@macro-dial-one:18] Return("SIP/8001-00000002", "") in new stack
-- Executing [s@macro-dial-one:27] GotoIf("SIP/8001-00000002", "0?nodial") in new stack
-- Executing [s@macro-dial-one:28] GotoIf("SIP/8001-00000002", "0?skiptrace") in new stack
-- Executing [s@macro-dial-one:29] GosubIf("SIP/8001-00000002", "1?ctset,1():ctclear,1()") in new stack
-- Executing [ctset@macro-dial-one:1] Set("SIP/8001-00000002", "DB(CALLTRACE/8002)=8001") in new stack
-- Executing [ctset@macro-dial-one:2] Return("SIP/8001-00000002", "") in new stack
-- Executing [s@macro-dial-one:30] Set("SIP/8001-00000002", "D_OPTIONS=Ttr") in new stack
-- Executing [s@macro-dial-one:31] NoOp("SIP/8001-00000002", "Blind Transfer: , Attended Transfer: , User: 8001, Alert Info: ") in new stack
-- Executing [s@macro-dial-one:32] ExecIf("SIP/8001-00000002", "1?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:33] ExecIf("SIP/8001-00000002", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:34] ExecIf("SIP/8001-00000002", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial-one:35] GosubIf("SIP/8001-00000002", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
-- Executing [s@macro-dial-one:36] ExecIf("SIP/8001-00000002", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s@macro-dial-one:37] GosubIf("SIP/8001-00000002", "0?qwait,1()") in new stack
-- Executing [s@macro-dial-one:38] Set("SIP/8001-00000002", "__CWIGNORE=") in new stack
-- Executing [s@macro-dial-one:39] Set("SIP/8001-00000002", "__KEEPCID=TRUE") in new stack
-- Executing [s@macro-dial-one:40] GotoIf("SIP/8001-00000002", "0?usegoto,1") in new stack
-- Executing [s@macro-dial-one:41] GotoIf("SIP/8001-00000002", "0?godial") in new stack
-- Executing [s@macro-dial-one:42] Gosub("SIP/8001-00000002", "sub-presencestate-display,s,1(8002)") in new stack
-- Executing [s@sub-presencestate-display:1] Goto("SIP/8001-00000002", "state-not_set,1") in new stack
-- Goto (sub-presencestate-display,state-not_set,1)
-- Executing [state-not_set@sub-presencestate-display:1] Set("SIP/8001-00000002", "PRESENCESTATE_DISPLAY=") in new stack
-- Executing [state-not_set@sub-presencestate-display:2] Return("SIP/8001-00000002", "") in new stack
-- Executing [s@macro-dial-one:43] Set("SIP/8001-00000002", "CONNECTEDLINE(name,i)=Petar") in new stack
-- Executing [s@macro-dial-one:44] Set("SIP/8001-00000002", "CONNECTEDLINE(num)=8002") in new stack
-- Executing [s@macro-dial-one:45] Set("SIP/8001-00000002", "D_OPTIONS=TtrI") in new stack
-- Executing [s@macro-dial-one:46] Macro("SIP/8001-00000002", "dialout-one-predial-hook,") in new stack
-- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("SIP/8001-00000002", "") in new stack
-- Executing [s@macro-dial-one:47] ExecIf("SIP/8001-00000002", "0?Set(D_OPTIONS=trII)") in new stack
-- Executing [s@macro-dial-one:48] Dial("SIP/8001-00000002", "SIP/8002,,TtrIb(func-apply-sipheaders^s^1)") in new stack
== Using SIP VIDEO TOS bits 136
== Using SIP VIDEO CoS mark 6
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- SIP/8002-00000003 Internal Gosub(func-apply-sipheaders,s,1) start
-- Executing [s@func-apply-sipheaders:1] NoOp("SIP/8002-00000003", "Applying SIP Headers to channel") in new stack
-- Executing [s@func-apply-sipheaders:2] Set("SIP/8002-00000003", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:3] While("SIP/8002-00000003", "0") in new stack
-- Jumping to priority 6
-- Executing [s@func-apply-sipheaders:7] Return("SIP/8002-00000003", "") in new stack
== Spawn extension (from-internal, 8002, 1) exited non-zero on 'SIP/8002-00000003'
-- SIP/8002-00000003 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
-- Called SIP/8002
-- Connected line update to SIP/8001-00000002 prevented.
-- SIP/8002-00000003 is ringing
> 0x76309258 -- Probation passed - setting RTP source address to 192.168.1.181:50916
-- Connected line update to SIP/8001-00000002 prevented.
-- SIP/8002-00000003 answered SIP/8001-00000002
-- Channel SIP/8002-00000003 joined 'simple_bridge' basic-bridge <9c551526-23f7-4817-8ce9-b625136aeade>
-- Channel SIP/8001-00000002 joined 'simple_bridge' basic-bridge <9c551526-23f7-4817-8ce9-b625136aeade>
> 0x76309258 -- Probation passed - setting RTP source address to 192.168.1.181:50916
> 0x7630bbb0 -- Probation passed - setting RTP source address to 192.168.1.181:52242
> 0x75f09c10 -- Probation passed - setting RTP source address to 192.168.1.110:20000
> 0x75f069d0 -- Probation passed - setting RTP source address to 192.168.1.110:20001
-- Channel SIP/8002-00000003 left 'simple_bridge' basic-bridge <9c551526-23f7-4817-8ce9-b625136aeade>
-- Channel SIP/8001-00000002 left 'simple_bridge' basic-bridge <9c551526-23f7-4817-8ce9-b625136aeade>
== Spawn extension (macro-dial-one, s, 48) exited non-zero on 'SIP/8001-00000002' in macro 'dial-one'
== Spawn extension (macro-exten-vm, s, 14) exited non-zero on 'SIP/8001-00000002' in macro 'exten-vm'
== Spawn extension (from-internal, 8002, 2) exited non-zero on 'SIP/8001-00000002'
-- Executing [h@from-internal:1] Macro("SIP/8001-00000002", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/8001-00000002", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/8001-00000002", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/8001-00000002", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/8001-00000002' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/8001-00000002'
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
This second post shows an unsuccessful call when I configured my VTO2000A (extension 8001) to call a group (extension 5000). When the VTO button was pressed, it called several extensions in the group, including my laptop. I then answered but the call was dropped after about 5 seconds. Any ideas why the call keeps getting dropped? The only difference is the VTO calling a direct extensions vs. calling a group.

Thanks!

VTO calling a group (multiple extensions)

Asterisk 13.11.2, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 13.11.2 currently running on raspbx (pid = 1809)
== Using SIP VIDEO TOS bits 136
== Using SIP VIDEO CoS mark 6
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [5000@from-internal:1] GotoIf("SIP/8001-00000004", "0?cid") in new stack
-- Executing [5000@from-internal:2] PlayTones("SIP/8001-00000004", "ring") in new stack
-- Executing [5000@from-internal:3] Progress("SIP/8001-00000004", "") in new stack
-- Executing [5000@from-internal:4] Macro("SIP/8001-00000004", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/8001-00000004", "TOUCH_MONITOR=1475821493.4") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/8001-00000004", "AMPUSER=8001") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/8001-00000004", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/8001-00000004", "1?Set(REALCALLERIDNUM=8001)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/8001-00000004", "AMPUSER=8001") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/8001-00000004", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/8001-00000004", "AMPUSERCIDNAME=Doorbell") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/8001-00000004", "0?report") in new stack
-- Executing [s@macro-user-callerid:9] Set("SIP/8001-00000004", "AMPUSERCID=8001") in new stack
-- Executing [s@macro-user-callerid:10] Set("SIP/8001-00000004", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/8001-00000004", "CALLERID(all)="Doorbell" <8001>") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/8001-00000004", "0?limit") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("SIP/8001-00000004", "0?Set(GROUP(concurrency_limit)=8001)") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("SIP/8001-00000004", "0?continue") in new stack
-- Executing [s@macro-user-callerid:15] Set("SIP/8001-00000004", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/8001-00000004", "1?continue") in new stack
-- Goto (macro-user-callerid,s,27)
-- Executing [s@macro-user-callerid:27] Set("SIP/8001-00000004", "CALLERID(number)=8001") in new stack
-- Executing [s@macro-user-callerid:28] Set("SIP/8001-00000004", "CALLERID(name)=Doorbell") in new stack
-- Executing [s@macro-user-callerid:29] GotoIf("SIP/8001-00000004", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:30] Set("SIP/8001-00000004", "CDR(cnam)=Doorbell") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/8001-00000004", "CDR(cnum)=8001") in new stack
-- Executing [s@macro-user-callerid:32] Set("SIP/8001-00000004", "CHANNEL(language)=en") in new stack
-- Executing [5000@from-internal:5] Macro("SIP/8001-00000004", "blkvm-setifempty,") in new stack
-- Executing [s@macro-blkvm-setifempty:1] GotoIf("SIP/8001-00000004", "1?init") in new stack
-- Goto (macro-blkvm-setifempty,s,4)
-- Executing [s@macro-blkvm-setifempty:4] Set("SIP/8001-00000004", "__BLKVM_CHANNEL=SIP/8001-00000004") in new stack
-- Executing [s@macro-blkvm-setifempty:5] Set("SIP/8001-00000004", "SHARED(BLKVM,SIP/8001-00000004)=TRUE") in new stack
-- Executing [s@macro-blkvm-setifempty:6] Set("SIP/8001-00000004", "GOSUB_RETVAL=TRUE") in new stack
-- Executing [s@macro-blkvm-setifempty:7] MacroExit("SIP/8001-00000004", "") in new stack
-- Executing [5000@from-internal:6] GotoIf("SIP/8001-00000004", "1?skipov") in new stack
-- Goto (from-internal,5000,9)
-- Executing [5000@from-internal:9] Set("SIP/8001-00000004", "RRNODEST=") in new stack
-- Executing [5000@from-internal:10] Set("SIP/8001-00000004", "__NODEST=5000") in new stack
-- Executing [5000@from-internal:11] GosubIf("SIP/8001-00000004", "0?sub-rgsetcid,s,1()") in new stack
-- Executing [5000@from-internal:12] Gosub("SIP/8001-00000004", "sub-record-check,s,1(rg,5000,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("SIP/8001-00000004", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("SIP/8001-00000004", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("SIP/8001-00000004", "NOW=1475821493") in new stack
-- Executing [s@sub-record-check:4] Set("SIP/8001-00000004", "__DAY=07") in new stack
-- Executing [s@sub-record-check:5] Set("SIP/8001-00000004", "__MONTH=10") in new stack
-- Executing [s@sub-record-check:6] Set("SIP/8001-00000004", "__YEAR=2016") in new stack
-- Executing [s@sub-record-check:7] Set("SIP/8001-00000004", "__TIMESTR=20161007-172453") in new stack
-- Executing [s@sub-record-check:8] Set("SIP/8001-00000004", "__FROMEXTEN=8001") in new stack
-- Executing [s@sub-record-check:9] Set("SIP/8001-00000004", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("SIP/8001-00000004", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("SIP/8001-00000004", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("SIP/8001-00000004", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("SIP/8001-00000004", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("SIP/8001-00000004", "2?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("SIP/8001-00000004", "0?sub-record-check,rg,1") in new stack
-- Executing [s@sub-record-check:18] NoOp("SIP/8001-00000004", "Generic rg Recording Check - 8001 5000") in new stack
-- Executing [s@sub-record-check:19] Gosub("SIP/8001-00000004", "recordcheck,1(dontcare,rg,5000)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("SIP/8001-00000004", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("SIP/8001-00000004", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("SIP/8001-00000004", "") in new stack
-- Executing [s@sub-record-check:20] Return("SIP/8001-00000004", "") in new stack
-- Executing [5000@from-internal:13] Set("SIP/8001-00000004", "RingGroupMethod=ringall") in new stack
-- Executing [5000@from-internal:14] Macro("SIP/8001-00000004", "dial,200,Ttr,8002-8003") in new stack
-- Executing [s@macro-dial:1] NoOp("SIP/8001-00000004", "Blind Transfer: , Attended Transfer: , User: 8001, Alert Info: ") in new stack
-- Executing [s@macro-dial:2] ExecIf("SIP/8001-00000004", "1?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial:3] ExecIf("SIP/8001-00000004", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial:4] ExecIf("SIP/8001-00000004", "0?Set(ALERT_INFO=)") in new stack
-- Executing [s@macro-dial:5] ExecIf("SIP/8001-00000004", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s@macro-dial:6] AGI("SIP/8001-00000004", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
dialparties.agi: Caller ID name is 'Doorbell' number is '8001'
> dialparties.agi: USE_CONFIRMATION: 'FALSE'
> dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is 'ringall'
-- dialparties.agi: Added extension 8002 to extension map
-- dialparties.agi: Added extension 8003 to extension map
-- dialparties.agi: Extension 8002 cf is disabled
-- dialparties.agi: Extension 8003 cf is disabled
-- dialparties.agi: Extension 8002 do not disturb is disabled
-- dialparties.agi: Extension 8003 do not disturb is disabled
> dialparties.agi: extnum 8002 has: cw: 1; hascfb: 0 [] hascfu: 0 []
-- dialparties.agi: dbset CALLTRACE/8002 to 8001
> dialparties.agi: extnum 8003 has: cw: 1; hascfb: 0 [] hascfu: 0 []
-- dialparties.agi: dbset CALLTRACE/8003 to 8001
-- dialparties.agi: Filtered ARG3: 8002-8003
> dialparties.agi: NODEST: 5000 adding M(auto-blkvm) to dialopts: TtrM(auto-blkvm)
> dialparties.agi: NODEST: 5000 blkvm enabled macro already in dialopts: TtrM(auto-blkvm)
-- <SIP/8001-00000004>AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:9] NoOp("SIP/8001-00000004", "Returned from dialparties with groups to dial") in new stack
-- Executing [s@macro-dial:10] Set("SIP/8001-00000004", "LOOPCNT=2") in new stack
-- Executing [s@macro-dial:11] Set("SIP/8001-00000004", "ITER=1") in new stack
-- Executing [s@macro-dial:12] Set("SIP/8001-00000004", "EXTTOCALL=8002") in new stack
-- Executing [s@macro-dial:13] NoOp("SIP/8001-00000004", "Working with 8002") in new stack
-- Executing [s@macro-dial:14] Set("SIP/8001-00000004", "ITER=2") in new stack
-- Executing [s@macro-dial:15] GotoIf("SIP/8001-00000004", "1?ndloopbegin") in new stack
-- Goto (macro-dial,s,12)
-- Executing [s@macro-dial:12] Set("SIP/8001-00000004", "EXTTOCALL=8003") in new stack
-- Executing [s@macro-dial:13] NoOp("SIP/8001-00000004", "Working with 8003") in new stack
-- Executing [s@macro-dial:14] Set("SIP/8001-00000004", "ITER=3") in new stack
-- Executing [s@macro-dial:15] GotoIf("SIP/8001-00000004", "0?ndloopbegin") in new stack
-- Executing [s@macro-dial:16] Macro("SIP/8001-00000004", "dial-ringall-predial-hook,") in new stack
-- Executing [s@macro-dial-ringall-predial-hook:1] MacroExit("SIP/8001-00000004", "") in new stack
-- Executing [s@macro-dial:17] Dial("SIP/8001-00000004", "SIP/8002&SIP/8003,200,TtrM(auto-blkvm)b(func-apply-sipheaders^s^1),") in new stack
== Using SIP VIDEO TOS bits 136
== Using SIP VIDEO CoS mark 6
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
[2016-10-07 17:24:53] WARNING[1826][C-00000002]: app_dial.c:2432 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
-- SIP/8002-00000005 Internal Gosub(func-apply-sipheaders,s,1) start
-- Executing [s@func-apply-sipheaders:1] NoOp("SIP/8002-00000005", "Applying SIP Headers to channel") in new stack
-- Executing [s@func-apply-sipheaders:2] Set("SIP/8002-00000005", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:3] While("SIP/8002-00000005", "0") in new stack
-- Jumping to priority 6
-- Executing [s@func-apply-sipheaders:7] Return("SIP/8002-00000005", "") in new stack
== Spawn extension (from-internal, 5000, 1) exited non-zero on 'SIP/8002-00000005'
-- SIP/8002-00000005 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
-- Called SIP/8002
-- SIP/8002-00000005 is ringing
> 0x75f19558 -- Probation passed - setting RTP source address to 192.168.1.181:64844
-- SIP/8002-00000005 answered SIP/8001-00000004
-- Executing [s@macro-auto-blkvm:1] Set("SIP/8002-00000005", "__MACRO_RESULT=") in new stack
-- Executing [s@macro-auto-blkvm:2] Set("SIP/8002-00000005", "CFIGNORE=") in new stack
-- Executing [s@macro-auto-blkvm:3] Set("SIP/8002-00000005", "MASTER_CHANNEL(CFIGNORE)=") in new stack
-- Executing [s@macro-auto-blkvm:4] Set("SIP/8002-00000005", "FORWARD_CONTEXT=from-internal") in new stack
-- Executing [s@macro-auto-blkvm:5] Set("SIP/8002-00000005", "MASTER_CHANNEL(FORWARD_CONTEXT)=from-internal") in new stack
-- Executing [s@macro-auto-blkvm:6] Macro("SIP/8002-00000005", "blkvm-clr,") in new stack
-- Executing [s@macro-blkvm-clr:1] Set("SIP/8002-00000005", "SHARED(BLKVM,SIP/8001-00000004)=") in new stack
-- Executing [s@macro-blkvm-clr:2] Set("SIP/8002-00000005", "GOSUB_RETVAL=") in new stack
-- Executing [s@macro-blkvm-clr:3] MacroExit("SIP/8002-00000005", "") in new stack
-- Executing [s@macro-auto-blkvm:7] ExecIf("SIP/8002-00000005", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(num))=8002)") in new stack
-- Executing [s@macro-auto-blkvm:8] ExecIf("SIP/8002-00000005", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(name))=Petar)") in new stack
-- Channel SIP/8002-00000005 joined 'simple_bridge' basic-bridge <12a8742d-2e99-44b3-82f0-865c5d505e3c>
-- Channel SIP/8001-00000004 joined 'simple_bridge' basic-bridge <12a8742d-2e99-44b3-82f0-865c5d505e3c>
> 0x75f19558 -- Probation passed - setting RTP source address to 192.168.1.181:64844
> 0x75f1ec20 -- Probation passed - setting RTP source address to 192.168.1.181:60418
[2016-10-07 17:25:11] WARNING[1727]: chan_sip.c:4059 retrans_pkt: Retransmission timeout reached on transmission 201610071724521050843812@192.168.1.110 for seqno 21 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 6400ms with no response
[2016-10-07 17:25:11] WARNING[1727]: chan_sip.c:4083 retrans_pkt: Hanging up call 201610071724521050843812@192.168.1.110 - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
-- Channel SIP/8001-00000004 left 'simple_bridge' basic-bridge <12a8742d-2e99-44b3-82f0-865c5d505e3c>
-- Channel SIP/8002-00000005 left 'simple_bridge' basic-bridge <12a8742d-2e99-44b3-82f0-865c5d505e3c>
== Spawn extension (macro-dial, s, 17) exited non-zero on 'SIP/8001-00000004' in macro 'dial'
== Spawn extension (from-internal, 5000, 14) exited non-zero on 'SIP/8001-00000004'
-- Executing [h@from-internal:1] Macro("SIP/8001-00000004", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/8001-00000004", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/8001-00000004", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/8001-00000004", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/8001-00000004' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/8001-00000004'
 

nayr

IPCT Contributor
Joined
Jul 16, 2014
Messages
9,329
Reaction score
5,325
Location
Denver, CO
need to see the actual sip traffic, not the dialplan logging.

should look something like:
Code:
[COLOR=#000000]SIP/2.0 200 OK[/COLOR]   Via: SIP/2.0/TLS client.biloxi.example.com:5061;branch=z9hG4bKnashd92
    ;received=192.0.2.201
   From: Bob <sips:bob@biloxi.example.com>;tag=ja743ks76zlflH
   To: Bob <sips:bob@biloxi.example.com>;tag=37GkEhwl6
   Call-ID: 1j9FpLxk3uxtm8tn@biloxi.example.com
   CSeq: 2 REGISTER
   Contact: <sips:bob@client.biloxi.example.com>;expires=3600
   Content-Length: 0
somewhere in there we'll see it advertise the RTSP stream if it does do the video, or flags like: m=video 0 RTP/AVP 31

I have to imagine it does do video, have you tried setting up a client?
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
Hi again,

I have attached the SIP log. Let me know if it contains enough info.

It should have logged the initial registration of the VTO, all the way through to the actual call to the group, and also the hang up which happens after 5 seconds.

IN terms of setting up a client, not sure what you mean? The VTO2000A successfully makes the SIP call when calling an extension directly. I assume you mean the SIP client on that? Otherwise. my laptop and mobile have SIP client software installed on them.

Even if I can get just the audio working, it would be OK for now. I'd like to use a call group to make sure that all phones are called whenever someone presses the button on the intercom at the front door. The video would be nice to have, but for now, I guess the issue is around the call being hung up after 5 seconds.

Cheers,
Pete
 

Attachments

nayr

IPCT Contributor
Joined
Jul 16, 2014
Messages
9,329
Reaction score
5,325
Location
Denver, CO
yeah its sending a video stream:

Code:
Sending to 192.168.1.110:5060 (no NAT)Using INVITE request as basis request - 20161008101923157436665@192.168.1.110
Found peer '8001' for '8001' from 192.168.1.110:5060
Found RTP video format 96
Found video description format H264 for ID 96
Found RTP audio format 97
Found RTP audio format 0
Found unknown media description format PCM for ID 97
Found audio description format PCMU for ID 0
Capabilities: us - (ulaw|alaw|gsm|g726|h264|mpeg4|vp8|h263p|h261|h263), peer - audio=(ulaw)/video=(h264)/text=(nothing), combined - (ulaw|h264)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x0 (nothing), combined - 0x0 (nothing)
You need a SIP Client that can take the video stream..

your hangup problem looks like a timeout, see this:
Code:
[2016-10-08 10:19:45] WARNING[1727]: chan_sip.c:4059 retrans_pkt: Retransmission timeout reached on transmission 20161008101923157436665@192.168.1.110 for seqno 21 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+RetransmissionsPacket timed out after 6399ms with no response
[2016-10-08 10:19:45] WARNING[1727]: chan_sip.c:4083 retrans_pkt: Hanging up call 20161008101923157436665@192.168.1.110 - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
Scheduling destruction of SIP dialog '6aa664cd5ae561f10fe94c3f0335ba08@192.168.1.220:5060' in 6400 ms (Method: INVITE)
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
The VTO2000A does seem to support video. I think the SIP logs show this.

Also, I have attached the Video Set page from the VTO's configuration tool (web interface). The available video formats under Main Format are D1 and WVGA. Under, Extra Format, they are D1, WVGA and QVGA.
 

Attachments

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
Thanks for the tip. I realized that X-Lite and Zoiper do not have the h264 codec.

I tried Ekiga but could not get video working.

I then tried Linphone and Jitsi. I got video working in both of these apps (both have h264 codec). From within these apps (on my laptop), I was able to call the VTO2000A. After dialing the VTO's extension, it immediately answered and started displaying its video. I have attached an image showing the actual video that the intercom was sending as part of the call. This was good to prove that video is being sent by the VTO2000A.

Then I tried the original scenario. I pressed the button on the intercom, and then the call group was dialed. When I answered the call on my laptop (once using Linphone, and another time using Jitsi), the call was terminated after about 5 seconds without any video being sent by the VTTO2000A. I have attached the SIP logs for both of these apps.

I then got the VTO2000A to dial my laptop's extension directly and the video call worked great.

So, after all this, it does seem like the difference is really between dialing a call group, and dialing an extension directly.

Is there anything in the SIP logs that stands out?

Thanks for all your help.

Pete
 

Attachments

nayr

IPCT Contributor
Joined
Jul 16, 2014
Messages
9,329
Reaction score
5,325
Location
Denver, CO
great, im glad you got some output from it.. you might be able to change codecs and get wider compatibility but h264 will be the most bandwidth friendly.

its probably something w/your dialplan, cant be much help there sorry.. mebe you can setup a video confrence it dials into then trigger it to dial in your other extensions.. going to need some google fu, I have not tried to do anything like that..
 

pkozul

n3wb
Joined
Oct 6, 2016
Messages
15
Reaction score
0
Hi again,

Finally got it all working. Got some additional help from the Asterisk forums.

Rather than using the Ring Group module of FreePBX, I installed the Follow Me module. I then removed 5000 as a ring group, and simply created it as a normal extension instead. I then set up that extension using Follow Me, and configured it to dial all the other extensions.

Now video calls work fine when initiated from the intercom.

Thanks again!
 

nayr

IPCT Contributor
Joined
Jul 16, 2014
Messages
9,329
Reaction score
5,325
Location
Denver, CO
great work, thanks for sharing.. your the first Ive seen try one of these
 
Top