I found this post in LinkedIn, and I do like the opinions Lennox expressed, so I put it here to share it with more peoples. Source: http://www.bbc.com/capital/story/20170430-why-you-shouldnt-be-yourself-at-work ————————————————————- The most common career advice can be completely misleading. Lennox Morrison explains why. By Lennox Morrison 1 May 2017 ‘Be yourself’ is […]
My work
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
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

Sympton: ——————————————- TE40 caller : 202.102.40.211, E.164: 02510000 TE40 caller : 192.168.0.109, E.164: 02510000 H600 callee : 192.168.0.105, E.164: 654320 VP9650: 202.102.40.219 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: DataApplicationCapability.application = t140 DataProtocolCapability = tcp In the capabilities exchange, when using an unreliable channel, specify: DataApplicationCapability.application = t140 DataProtocolCapability = udp 2) H.245 Open Logical Channel In the Open Logical Channel procedure, specify: OpenLogicalChannel.forwardLogicalChannelParameters = dataType DataType = data 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: […]
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

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

Found some features were missing after upgraded my blog to the latest version, WordPress v4.0, such as blogrolls. Tried to find it all over the dashboard, but got no luck. So I turned to the almighty Google, finally got the solution, and it’s really easy. All you need to do […]
Restore blogroll function for your WordPress

[20150822 Update] For the record, I didn’t find the right ITU-REC document when I wrote this post, and misguided by a claim of HUAWEI VP9650 which says it has AES256 supported, but when I sending out a call from VP9650, it showed a new DH group DH1536, so I made […]