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

We encounterred with SIP signaling commands lost issues recently in different terminals, environments, and scenarios. And we were using UDP as our prior transport type. The potential cause could be: 1. There were SIP commands which could larger than MTU size. 2. The send/recv queue buffer size of the socket […]

PJSIP: Automatic Switch Transport type from UDP to TCP

Dec 31, 2016, cloudless clean day, when everybody was saying goodby to each other, my wife’s big aunt from her father went away(my father in law’s big brother’s wife). She was suffered by a kind of lung tumor, critical type, but went away peacefully. She was thin and short, a […]

Goodbye, big aunt

So manny things happened in 2016, good things, bad things, happy things, sad things, and I was busy in my own so called “The most comfortable state of mind”, but I was cheating myself actually. Now, 2017 is approaching, new year brings with it new opportunities and excuses to make […]

New year, new starts, new beginnings

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

August 20, a cloudless sunny summer day, PM2.5 35, a very clear and clean day considering we are living in China, in Shanghai. 7 am of that bright day, a little angel came to our life. and, today, we named her 韦曦. 曦 means dawn in Chinese, and because her […]

Little angel falled to our home

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

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-58812c817c127254581142/] In the capabilities exchange, when using an unreliable channel, specify: [crayon-58812c817c131620077727/] 2) H.245 Open Logical Channel In the Open Logical Channel procedure, specify: [crayon-58812c817c137291601809/] 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

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