My work

Work & programming related archives.

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: ————————————————————- The most common career advice can be completely misleading. Lennox Morrison explains why. By Lennox Morrison 1 May 2017 ‘Be yourself’ is […]

Why you shouldn’t ‘be yourself’ at work

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

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

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) RFC5104:  Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF) AVPF contains a mechanism for conveying such a message, […]

RTCP and AVPF related missing features