How to connect to Huawei devices

From Kolmisoft Wiki
Revision as of 06:06, 16 May 2010 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Huawei.png

Huawei develops various devices which have nasty bugs in SIP implementation.

To support their non-standard SIP implementation, Huawei sends patches to Asterisk that cripple Asterisk, but they do not fix their own implementations.

One we encountered is in the SIP INVITE message. Asterisk sends the line:

a=silenceSupp:off - - - - -

Huawei Softswitch does not like it and returns the error:

Got SIP response 500 "Server Internal Error" back from 23.45.67.89

There is also the Hangupcause code 38, which is: NETWORK_OUT_OF_ORDER.




Related links:

A provider that uses Huawei insisted we should patch (which is to say, cripple) Asterisk to make it work with their Softswitch. Instead we put a middle server between our Asterisk server and their Softswitch:

Our main Asterisk <--IAX2--> Patched Asterisk <--SIP--> Huawei softswitch

In /usr/src/asterisk/channels/chan_sip.c we commented lines

    if (!p->owner || !ast_internal_timing_enabled(p->owner))
            ast_build_string(&a_audio_next, &a_audio_left, "a=silenceSupp:off - - - -\r\n")

as is described in this patch. We recompiled Asterisk and it started to work.