[asterisk-bugs] [Asterisk 0018224]: DECT channel driver

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Oct 27 15:40:34 CDT 2010


The following issue has been SUBMITTED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18224 
====================================================================== 
Reported By:                kaber
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18224
Category:                   Codecs/NewFeature
Reproducibility:            N/A
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-10-27 15:40 CDT
Last Modified:              2010-10-27 15:40 CDT
====================================================================== 
Summary:                    DECT channel driver
Description: 
I've written an asterisk DECT channel driver as part of an entire
open source DECT stack available at http://dect.osmocom.org, which
is attached to this issue.

The patch is not meant for merging at this time, there's still quite
a bit of work to by done, but its in a good enough state that some
review, especially of the interactions with asterisk, would be very
welcome.

The channel driver implements a DECT FP (Fixed Part, aka basestation),
currently supporting G.726 audio and a few supplementary features like
text messages and user authentication. Telephones can register with the
FP using a procedure called "access rights requests", during which an
authentication key and an extension is allocated for the telephone.

When the telephone is active and in range to the FP, it performs a
procedure called "location registration" (probably known from GSM)
to announce it is ready to receive calls. The extension is then
registered in the dialplan in a special context for the Dial()
application in order to support completely dynamic setups where the
amount of telephones is not known in advance. It is of course also
possible to manually define dialplan rules for the telephones.

The telephone specific subscription data (extension, keys,
capabilities, ...) are stored in the ast_db and read again on startup.
This part is not particulary pretty due to the inflexibility of
ast_db(), specifically it needs various keys associated with each
telephone, which are stored separately and associated again through
the database path (/dect/<IPEI>/...). The ast_realtime architecture
unfortunately also doesn't seem to be suitable for this since it
appears to be lacking a way to iterate over data or query for
multiple entries.

Call connection can work in two ways:

- when the phone supplies an existing extension during call setup,
  the call is immediately connected.

- otherwise the call is placed in "OVERLAP SENDING" state and for
  each dialed digit, an extension lookup is performed and the call
  is connected as soon as an existing extension is dialed.

I think that should be about everything where the driver's behaviour
diverges from other drivers, the remaining parts should be pretty
much self-explanatory.

Comments and review welcome.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-10-27 15:40 kaber          New Issue                                    
2010-10-27 15:40 kaber          Asterisk Version          => SVN             
2010-10-27 15:40 kaber          Regression                => No              
2010-10-27 15:40 kaber          SVN Branch (only for SVN checkouts, not tarball
releases) =>  trunk          
======================================================================




More information about the asterisk-bugs mailing list