[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
Thu Jul 12 09:00:49 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=9668 
====================================================================== 
Reported By:                stevedavies
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   9668
Category:                   Core/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
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:              07-12-2007 09:00 CDT
====================================================================== 
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
====================================================================== 

---------------------------------------------------------------------- 
 mackey - 07-12-07 09:00  
---------------------------------------------------------------------- 
How about only chopping if the channel starts with "SIP/" ? 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
07-12-07 09:00  mackey         Note Added: 0067301                          
======================================================================




More information about the Asterisk-bugs mailing list