[asterisk-bugs] [Asterisk 0009668]: devicestate.c:__ast_device_state_changed_literal can't cope with iax (and sip?) peer names containing "-"

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Jan 4 16:59:33 CST 2008


The following issue has been ASSIGNED. 
====================================================================== 
http://bugs.digium.com/view.php?id=9668 
====================================================================== 
Reported By:                stevedavies
Assigned To:                Corydon76
====================================================================== 
Project:                    Asterisk
Issue ID:                   9668
Category:                   Addons/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 62263 
Disclaimer on File?:        Yes 
Request Review:              
====================================================================== 
Date Submitted:             05-04-2007 14:31 CDT
Last Modified:              01-04-2008 16:59 CST
====================================================================== 
Summary:                    devicestate.c:__ast_device_state_changed_literal
can't cope with iax (and sip?) peer names containing "-"
Description: 
__ast_device_state_changed_lieral does this:

        device = buf;
        if ((tmp = strrchr(device, '-')))
                *tmp = '\0';

With this result in my environment:

[May  2 09:19:12] DEBUG[11129] devicestate.c: Notification of state change
to be queued on device/channel IAX2/swenitech-2
[May  2 09:19:12] DEBUG[11129] devicestate.c: No provider found, checking
channel drivers for IAX2 - swenitech
[May  2 09:19:12] DEBUG[11129] chan_iax2.c: Checking device state for
device swenitech
[May  2 09:19:12] DEBUG[11129] devicestate.c: Changing state for
IAX2/swenitech - state 4 (Invalid)
[May  2 09:19:14] DEBUG[11129] devicestate.c: Notification of state change
to be queued on device/channel IAX2/swenitech-1
[May  2 09:19:14] DEBUG[11129] devicestate.c: No provider found, checking
channel drivers for IAX2 - swenitech
[May  2 09:19:14] DEBUG[11129] chan_iax2.c: Checking device state for
device swenitech
[May  2 09:19:14] DEBUG[11129] devicestate.c: Changing state for
IAX2/swenitech - state 4 (Invalid)
[May  2 09:19:15] DEBUG[11129] devicestate.c: Notification of state change
to be queued on device/channel IAX2/vpntech-1
[May  2 09:19:15] DEBUG[11129] devicestate.c: No provider found, checking
channel drivers for IAX2 - vpntech
[May  2 09:19:15] DEBUG[11129] chan_iax2.c: Checking device state for
device vpntech
[May  2 09:19:15] DEBUG[11129] devicestate.c: Changing state for
IAX2/vpntech - state 4 (Invalid)

etc etc.

I guess that truncating at the last "-' is to do with cleaning up things
like Zap/1-1 and similar.

But the result breaks devicestate for any iax2 or sip peer with a dash in
the name.

Perhaps it would be possible to queue the devicestate for both the
complete and the truncated version in order to deal with this issue?

Steve
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0009782 hints don't work
====================================================================== 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-04-08 16:59  Corydon76      Status                   confirmed => assigned
01-04-08 16:59  Corydon76      Assigned To              file => Corydon76   
======================================================================




More information about the asterisk-bugs mailing list