[asterisk-bugs] [Asterisk 0016826]: Endianess problems in skinny messages

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Feb 17 12:18:59 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16826 
====================================================================== 
Reported By:                PipoCanaja
Assigned To:                mvanbaak
====================================================================== 
Project:                    Asterisk
Issue ID:                   16826
Category:                   Channels/chan_skinny
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.2 
SVN Revision (number only!): 246625 
Request Review:              
====================================================================== 
Date Submitted:             2010-02-14 17:19 CST
Last Modified:              2010-02-17 12:18 CST
====================================================================== 
Summary:                    Endianess problems in skinny messages
Description: 
I'm using a sun machine as my asterisk server:
Linux sunsrv 2.6.18-gre https://issues.asterisk.org/view.php?id=3 SMP Wed Sep 24
22:12:02 CEST 2008 sparc64
GNU/Linux

I faced some endianess problems in the skinny exchanges with my 2 phones
(Cisco 7920 and Cisco 7912). 

In default code, the phone would not even register completely.

I compared the wireshark trace of the same SVN version (Revision: 246625)
on an intel machine and this sun, and based on this, I patched my
chan_skinny.c to improve it.
Basically, it means: removing (most of the time) or adding byteswapping.
On intel platform, no swapping is needed (the phone expects LittleEndian)
so the functions are returning the same value they are called with. So if
not tested with a Big Endian machine, it's easy to call those byteswapp
functions more than needed. 

Basically, I'm now able to register, and to do the echo test. It needs
some more testing but I'm now opening the bug report so that if somebody
else is facing that issue/working at it, we can share and test patches.
====================================================================== 

---------------------------------------------------------------------- 
 (0118161) PipoCanaja (reporter) - 2010-02-17 12:18
 https://issues.asterisk.org/view.php?id=16826#c118161 
---------------------------------------------------------------------- 
Hi mvanbaak,

I did some more tests here, and for simple operation (register a phone,
make a phone call, receive a phone call) it works well on my 3 test phones
here (2x7920 and 1x7912).

What kind of tests would you suggest to do ? Is there a "testing
procedure" that I should apply to this ? 

Concerning the Call Transfer, and other advanced feature, where can I find
the official status ? Are they supposed to work ? Call transfer usually
ends up in a crash here. I haven't tested it on a little endian platform,
in order to see if it's the same.

The patch is the one in the Additionnal Informations above. 

Bye for now 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-02-17 12:18 PipoCanaja     Note Added: 0118161                          
======================================================================




More information about the asterisk-bugs mailing list