April 1, 2015, a bright sunny day at Shanghai. Today is supposed to be a kidding day, however, not got so much April Fool’s Day news as usual, but an astonishing news, UniSVR is going to shut down the Shanghai office in a month. Sign, lament, or not, UniSVR Shanghai […]

UniSVR is shutting down Shanghai office

Saw this post on Streaming Media Magazine, found we share a same opinion with HEVC, so forward it to my blog. Online is different from broadcast and doesn’t need formal standards. HEVC isn’t considered by many online video streamers, as the future belongs to VP9 and AV1. By Jan Ozer […]

The Decline of the Standards-Based Codec—and Good Riddance

HUAWEI format of facility msg of H460 startH245
Sympton: ——————————————- TE40 caller :, E.164: 02510000 TE40 caller :,  E.164: 02510000 H600 callee :,  E.164: 654320 VP9650: Pcap file was captured on H600 side. All exchanged signaling commands between H600 and VP9650: ->SCI <-SCR,facility ->setup <-ARQ ->ACF <-alerting,connect ->facility ->TCS …Twenty seconds later… –>ReleaseComplete, DRQ […]

An issue when collaborating with HUAWEI VP9650 with H.460

For some reason, I found out some Apps I programmed several years ago, rebuilt them and put on my MI NOTE (Android 6.0) to run some tests. Here is my cross compile environment: NDK: former downloaded, r7c + r8b SDK: newly downloaded, 24.4.1 But when I tried to run the […]

Android: dlopen fail due to has text relocations issue

H.224 -Standard Client ID Table
Both ZTE T800 and HUAWEI TEx0 claim to have T.140 supported, but when I digging into these entities by running some tests between T800, TE40 and TE60, my current status is I’m not persuaded. Maybe only because I don’t know how to configure them to make T.140 enabled. Here is some T.140 related information, and my steps to analysis to the protocols of HUAWEI TEx0 and ZTE T800. A screen shot of HUAWEI TEx0’s administration manual about T.140. Source: http://support.huawei.com/ehedex/pages/DOC1000063904NZD1231E/01/DOC1000063904NZD1231E/01/resources/webhlp/te_webhlp_00005.html#te_webhlp_00005__tb5 1. T.140 related standard documents 1)T-REC-H.323-200002-S!AnnG!PDF-E.pdf 2)T-REC-H.224-200501-I!!PDF-E.pdf 3)T-REC-T.140-199802-I!!PDF-E.pdf 5)T-REC-T.140-200002-I!Add1!PDF-E.pdf 6)RFC4103 – RTP Payload for Text Conversation.pdf 2. Major descriptions of implementing T.140 T.140 related descriptions in T-REC-H.323-200002-S!AnnG!PDF-E. 1) H.245 TCS for T.140 In the capabilities exchange, when using a reliable channel, specify: [crayon-58444050b601b658805417/] In the capabilities exchange, when using an unreliable channel, specify: [crayon-58444050b6025100975145/] 2) H.245 Open Logical Channel In the Open Logical Channel procedure, specify: [crayon-58444050b602a853534104/] And select a reliable or unreliable channel for the transfer of T.140 data by specifying the DataApplicationCapability and the DataProtocolCapability as above. According to the description in T-REC-H.224-200501-I!!PDF-E, there should be only one H.221 channel, we can still send multiple protocols, like FECC, T.120 and T.140, in one single channel, this type of channel has a name: H.221 MLP data channel. 3) Packetization of T.140 data Reliable TCP mode: skipped because don’t find any newlly established TCP connections. UnReliable mode: I do find an H.224 capability in both of these entities, since there is no OLC requests other than Audio, Video, and H.224 data. Let’s suppose they are re-using the H.221 MLP data channel for both FECC and T.140 transmission. 4) H.224 protocol octet structure 5) H.224 -Standard Client ID Table 3. H.224 data packets sending between TE60 and T800 I managed to extract the H.224 data packets from the PCAP file. And they are like these: 7e 7e 7e 00 86 c0 00 00 00 00 00 03 40 00 81 a8 e8 0f b2 07 db 07 9f 9f 9f bf ff Explain the packet by the standard document’s description: Buffer Description Class 7e 7e 7e Flag Flag 00 Upper DLCI Q.922 Address Header 86 Lower DLCI, 0x6 or 0x7 + EA C0 UI Mode Q.922 Control Octet(s) 00 […]

Does ZTE T800 and HUAWEI TEx0 support T.140?

Got mails continuously from everywhere throwing question to me about AAC audio in H.323. So I arranged this post to example my previous posts: http://rg4.net/archives/1480.html, http://rg4.net/archives/1126.html, http://rg4.net/archives/1112.html The pcap file for this example can be downloaded here: HUAWEI_TE600-vs-ZTE_T800.pcapnp Here it is. 1. Basic knowledge: AAC LD descriptions in 14496-3 It operates at up […]

An example of AAC capability in H.245

The VLC media player includes file cache and stream buffer options to enable fine-grained control over video playback on machines with limited system resources. If you use VLC to stream network video, you can set the buffer size on a per-stream or permanent basis. For local file playback, you can […]

How to Change the Buffer on VLC

User-Agent format of TANDBERG 775
As you may know, to be a robust meeting entity, we must take good care of compatibility requirements for different facilities from different manufacturers. In H.323 protocol, we can use fields like Vendor ID, Product ID, Version ID in the signaling commands. But how to do this when you are using SIP protocol? Definitions in RFC 3261 20.35 Server    The Server header field contains information about the software used    by the UAS to handle the request.    Revealing the specific software version of the server might allow the    server to become more vulnerable to attacks against software that is    known to contain security holes. Implementers SHOULD make the Server    header field a configurable option.    Example:       Server: HomeServer v2 20.41 User-Agent    The User-Agent header field contains information about the UAC    originating the request.  The semantics of this header field are    defined in [H14.43].    Revealing the specific software version of the user agent might allow    the user agent to become more vulnerable to attacks against software    that is known to contain security holes.  Implementers SHOULD make    the User-Agent header field a configurable option.    Example:       User-Agent: Softphone Beta1.5     [H14.43] User-Agent definition in RFC2616 14.43 User-Agent The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations. User agents SHOULD include this field with requests. The field can contain multiple product tokens (section 3.8) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the product tokens are listed in order of their significance for identifying the application. User-Agent     = “User-Agent” “:” 1*( product | comment ) Example: User-Agent: CERN-LineMode/2.15 libwww/2.17b3     How TANDBERG and Polycom implemented? TANDBERG: POLYCOM: So, jump to the conclusion: As UAC, identify yourself in User-Agent field. As UAS, identify yourself in Server field. Comparing with TANDBERG and POLYCOM’s implementation, TANDBERG format is more proper.

Vendor ID, Product ID information in SIP

常见视频通信协议介绍 – GB28181 Video-communication-protocols-GB28181 It’s not a world-wide standard, but a Chinese-marketing-only standard, which was drafted by a number of Chinese government facilities. P.S. It’s a Chinese version of presentation.

Common video communication protocol intro – GB28181

I like this words: “There’s never a perfect time for anything—you just have go for it and keep your eyes on your goal.” Written by Anne Kreamer August 25, 2015 In the US, where only 11% of working engineers are women and fewer than 5% of the CEOs of the […]

This CEO says her riskiest career move was becoming an ...

This post’s goal is to guide a starter to analysis a crash by reading into the assemble code. But the example listed here is not a good one, because the crash point is not an obvious one, the real reason of the crash for this example is still remain uncovered. […]

Trouble shooting: step by step to analysis crashes

An issue of call establishment delay when conferencing with Polycom MCU RMX2000 The situation was 1. Meeting entities 1). Polycom MCU: Polycom RMX 2000, version ID: 8.3.0 2). Kedacom HD3 H600 SP4 2. Call scenario HD3 joined a multi-point conference with RMX2000. 1) All the H.225 and H.245 processes were […]

A common bug of HD3 series terminals

Most of the missing features are AVPF related, which is defined in RFC4585 and RFC5104. RFC4585: Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF) https://www.rfc-editor.org/rfc/rfc4585.txt RFC5104:  Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF) https://www.rfc-editor.org/rfc/rfc5104.txt AVPF contains a mechanism for conveying such a message, […]

RTCP and AVPF related missing features