Difference between revisions of "How to connect to Huawei devices"

From Kolmisoft Wiki
Jump to navigationJump to search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:huawei.png|right]][http://www.huawei.com/ Huawei] develops various devices which has nasty bugs in SIP implementation.
[[Image:huawei.png|right]][http://www.huawei.com/ Huawei] develops various devices which have nasty bugs in SIP implementation.


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


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


  a=silenceSupp:off - - - - -
  a=silenceSupp:off - - - - -


Huawei softswitch does not like it and returns error.
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.
 
<br>
----
<br>


Related links:
Related links:
Line 15: Line 23:
* http://bugs.digium.com/view.php?id=6669
* http://bugs.digium.com/view.php?id=6669


Provider which uses Huawei insisted we should patch (criple) Asterisk to make to work with their softdwitch. Instead we put middle server between our Asterisk server and their softswitch:
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
  Our main Asterisk <--IAX2--> Patched Asterisk <--SIP--> Huawei softswitch
Line 24: Line 32:
             ast_build_string(&a_audio_next, &a_audio_left, "a=silenceSupp:off - - - -\r\n")
             ast_build_string(&a_audio_next, &a_audio_left, "a=silenceSupp:off - - - -\r\n")
   
   
as it is described in this [http://bugs.digium.com/view.php?id=6669 patch]. Recompiled Asterisk and it started to work.
as is described in this [http://bugs.digium.com/view.php?id=6669 patch]. We recompiled Asterisk and it started to work.

Latest revision as of 06:06, 16 May 2010

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.