Open minideezel opened 3 years ago
There's nothing saying we couldn't do this, although it would be more involved. I suspect that Argus support is a prerequisite; they probably use similar protocols.
Well we are working on Argus support, that makes UDP (local) cameras connectable.
Part of this support includes remote discovery that learns the ip and port from reolink servers. Just using this ip and port may be enough to connect a cellular camera but it may not.
None of the current developers have a celluar camera to reverse engineer how it is connected to which will slow developement a lot.
@QuantumEntangledAndy Where is the best place to test this functionality as it stands? I've been using your single_login_streams branch but am not getting very far.
I recognize the functionality is half baked at best - but would like to know what's in the best shape as far as Reolink GO is concerned? I'm able to get the relay server/ip but not any further than that.
Do you get a reply from the relay server with the device ip? How far do you get maybe a log will be helpful
@QuantumEntangledAndy Wow - thanks for the quick response - lmk how I can provide more helpful info - happy to provide more sensitive info privately too...
[2022-08-11T21:04:35Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Got this information from the register: M2cQr { reg: IpPort { ip: "52.249.244.90", port: 58200 }, relay: IpPort { ip: "52.249.244.90", port: 58100 }, log: IpPort { ip: "52.249.244.90", port: 57850 }, t: IpPort { ip: "52.249.244.90", port: 9996 } }
[2022-08-11T21:04:35Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Register address found: IpPort { ip: "52.249.244.90", port: 58200 }
[2022-08-11T21:04:35Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Registering this address: 172.24.144.3
[2022-08-11T21:19:37Z INFO neolink_core::bc_protocol::connection::udpconn::discover] Trying remote discovery against reolink servers
[2022-08-11T21:19:37Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Trying register: p2p.reolink.com
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "P2P"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(P2P, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "M2C_Q_R"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(M2C_Q_R, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "reg"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(reg, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(52.249.244.90)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(58200)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(reg)
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "relay"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(relay, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(52.249.244.90)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(58100)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(relay)
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "log"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(log, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(52.249.244.90)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(57850)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(log)
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "t"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(t, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(52.249.244.90)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(9996)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(t)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(timer, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(def, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(3000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(def)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(hbt, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(240000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(hbt)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cl, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(3000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cl)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(15000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cp)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cr, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(2000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cr)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ct, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(5000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ct)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(itvl, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(1000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(itvl)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(nat, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(2000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(nat)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(hb, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(20000)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(hb)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(timer)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(retry, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(def, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(3)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(def)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(hbt, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(1)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(hbt)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cl, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(4)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cl)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(15)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cp)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cr, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(3)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cr)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ct, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(1)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ct)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(nat, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(3)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(nat)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(hb, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(1)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(hb)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(upg, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(1)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(upg)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(retry)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(mtu, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(1350)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(mtu)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(debug, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(251658240)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(debug)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ac, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(-1700607721)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ac)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(rsp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(0)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(rsp)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(M2C_Q_R)
[2022-08-11T21:19:37Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Got this information from the register: M2cQr { reg: IpPort { ip: "52.249.244.90", port: 58200 }, relay: IpPort { ip: "52.249.244.90", port: 58100 }, log: IpPort { ip: "52.249.244.90", port: 57850 }, t: IpPort { ip: "52.249.244.90", port: 9996 } }
[2022-08-11T21:19:37Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Register address found: IpPort { ip: "52.249.244.90", port: 58200 }
[2022-08-11T21:19:37Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Registering this address: 172.24.144.3
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "P2P"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(P2P, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "R2C_T"
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(R2C_T, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(dmap, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(172.58.63.72)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(36731)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(dmap)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(sid, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(153433256)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(sid)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(cid, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(-1966154885)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(cid)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched StartElement(rsp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched Characters(0)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(rsp)
[2022-08-11T21:19:37Z DEBUG yaserde::de] Fetched EndElement(R2C_T)
[2022-08-11T21:19:38Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "P2P"
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(P2P, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "R2C_T"
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(R2C_T, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(dmap, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(172.58.63.72)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(36731)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(dmap)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(sid, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(153433256)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(sid)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(cid, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(-1966154885)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(cid)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(rsp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(0)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(rsp)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(R2C_T)
[2022-08-11T21:19:38Z DEBUG neolink_core::bcudp::xml] Struct: start to parse "P2P"
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(P2P, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(R2C_C_R, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(dmap, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(172.58.63.72)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(36280)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(dmap)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(relay, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(ip, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(52.249.244.90)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(ip)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(port, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(51726)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(port)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(relay)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(nat, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(NULL)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(nat)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(sid, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(153433256)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(sid)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(rsp, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(0)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(rsp)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched StartElement(ac, {"": "", "xml": "http://www.w3.org/XML/1998/namespace", "xmlns": "http://www.w3.org/2000/xmlns/"})
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched Characters(153433256)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(ac)
[2022-08-11T21:19:38Z DEBUG yaserde::de] Fetched EndElement(R2C_C_R)
[2022-08-11T21:19:38Z DEBUG neolink_core::bc_protocol::connection::udpconn::discover] Udp Discovery got this unexpected BcUdp Discovery(UdpDiscovery { tid: 150, payload: UdpXml { c2d_s: None, c2d_c: None, d2c_c_r: None, d2c_t: None, c2d_t: None, d2c_cfm: None, c2d_disc: None, d2c_disc: None, c2m_q: None, m2c_q_r: None, c2r_c: None, r2c_t: None, c2r_cfm: None } })
It seems that the xml reply from the server is a little different than expected but I can see all the information we need nested in it. It seems that the ip info is under the dmap
key rather than the dev
key. Unfortunately I am not sure I will be able to find the time to fix it right now.
It seems that the xml reply from the server is a little different than expected but I can see all the information we need nested in it. It seems that the ip info is under the
dmap
key rather than thedev
key. Unfortunately I am not sure I will be able to find the time to fix it right now.
Well thanks for looking either way. Are you thinking it will be baichuan over udp to that dmap port and ip?
I’ll try to investigate a bit with the camera_proxy project as Python is easier for me to follow.
I suspect so, they tend to use it for everything else but can't really be sure until we've seen it in the wild. If the dmap is a relay of sorts though there might be additional handshakes to negotiate that.
@PrplHaz4 I have a test build for remote access to the camera. Currently I can remotely, via reolink servers acting as a relay, connect to my (non cellular) camera. Would you (or anyone else) be willing to confirm that we can get a connection this way for cellular? The connection may not last long as I think I also need to work out the keepalive messages but this is a good place to start.
Yes, please On 20 Feb 2023, 1:02 PM +1100, Andrew King @.***>, wrote:
@PrplHaz4 I have a test build for remote access to the camera. Currently I can remotely, via reolink servers acting as a relay, connect to my (non cellular) camera. Would you (or anyone else) be willing to confirm that we can get a connection this way for cellular? The connection may not last long as I think I also need to work out the keepalive messages but this is a good place to start. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>
Docker is ready for testing here
docker pull quantumentangledandy/neolink:tokio
Docker is ready for testing here
docker pull quantumentangledandy/neolink:tokio
sorry for the delay...it hangs on the last trace and has to be killed from another session
For anyone following, Andy's updated fork now supports discovery for Cellular/LTE cameras (and a ton of new features and fixes): https://github.com/QuantumEntangledAndy/neolink#cellular
Love the project and great work, I did want to put in a request for possible support for the Reolink Go camera, which does not have local network access and has internet only via 4G Cellular onboard. This means the streaming has to come through Reolink's cloud as far as I know.
I mostly just want to capture a static image from this camera every hour for time lapse purposes, but full RTSP support would be slick.
Let me know if there's anything I can help with on this.