[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 Sep 7 11:38:28 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:                   Addons/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     confirmed
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:              09-07-2007 11:38 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
====================================================================== 

---------------------------------------------------------------------- 
 jamesgolovich - 09-07-07 11:38  
---------------------------------------------------------------------- 
I haven't looked deep into the code yet for this, I might have some time
this afternoon.

I don't believe that we would have to be sending an encoded version over
to a remote host, since we would be using either the IP address or an
unencoded hostname.

ast_gethostbyname would be modified to do the decoding, so the query would
be for the undecoded name.

I may just be totally off here since I haven't looked at the code.  If I
get a chance today I'll see if what I'm proposing is even possible or
reasonable, if not today then I'll have a chance over the weekend. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
09-07-07 11:38  jamesgolovich  Note Added: 0070114                          
======================================================================




More information about the asterisk-bugs mailing list