[asterisk-bugs] [Zaptel 0011057]: Incorrect handling of international settings

noreply at bugs.digium.com noreply at bugs.digium.com
Sun Jan 13 10:57:44 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11057 
====================================================================== 
Reported By:                meneault
Assigned To:                mattf
====================================================================== 
Project:                    Zaptel
Issue ID:                   11057
Category:                   wcfxo
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Zaptel Version:              SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 3211 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             10-23-2007 02:23 CDT
Last Modified:              01-13-2008 10:57 CST
====================================================================== 
Summary:                    Incorrect handling of international settings
Description: 
There is a simple error of hexadecimal/decimal in wcfxo.c which cause the
driver to ignore its international settings.
====================================================================== 

---------------------------------------------------------------------- 
 meneault - 01-13-08 10:57  
---------------------------------------------------------------------- 
> I see a table that is more akeen with the opermode table in wctdm.c 

That's right. This is due to the fact that wctdm.c fxo modules uses
Si3050+Si3018/Si3019 silabs chipsets which are nothing more than third
generation DAAs whereas wcfxo uses Si3012/Si3014 (second generation
chipsets) so they could be handled "quite" the same way (the table in
wctdm.c comes from table 13 in Si3050 specs).
However for international settings parameters are not exactly the same.

What should be done for wcfxo is just copy the table you mentioned (table
16) and make it the new fxo_modes table.

Moreover, in wcfxo.c opermode is specified using an integer number, we
should use the "name" now because there will be a lot of modes.
(i.e. copy wctdm.c's opermode handling in wctdm_init() into
wcfxo_init()).

To not break existing applications loading wcfxo driver we should probably
keep backward compatibility using:
- first check if what is provided as opermode parameter is an integer or
not.
- If it is an integer then use old style opermode parameter (fetching the
mode at the specified position in fxo_modes) and issue a warning.
- If it is not an integer then compare it from the fxo_modes name member
as in wctdm.c (wctdm_init). 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-13-08 10:57  meneault       Note Added: 0076854                          
======================================================================




More information about the asterisk-bugs mailing list