[Home]

Summary:ASTERISK-09823: Can't dial out on chan_skinny
Reporter:sbisker (sbisker)Labels:
Date Opened:2007-07-06 11:17:59Date Closed:2007-07-12 11:01:44
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_skinny
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) console-output-1.4.0.txt
( 1) console-output-1.4.6.txt
( 2) debug.1.4.0
( 3) debug.1.4.6
Description:When trying the 1.4.4 and 1.4.6 releases of asterisk, I am unable to make outgoing calls using my 7920 phone's on chan_skinny.  When the user hits the send button, all I get on the console is.

Starting simple switch on '7828@7828'

But no phone call is made.  I can dial the phone's no problem
Comments:By: sbisker (sbisker) 2007-07-06 13:09:22

The exact config files and hardware work with 1.4.0

By: Damien Wedhorn (wedhorn) 2007-07-06 17:41:04

You haven't provided much information. Can you supply some additional console information with skinnydebug on, that is the lines prior to "Starting simple switch". Also, a tcpdump would be nice.

By: sbisker (sbisker) 2007-07-09 13:52:24

I've uploaded 2 sets of files.  One from 1.4.0 and one from 1.4.6.  Both had skinny debug and very verbose logging.  The set's consist of console output as well as debug log.  Looks like there is a difference on how digits are handled when the call is originated.  In 1.4.0 there is a packet sent after each digit is received.  In 1.4.6 the packets aren't sent until after all digits are received. Let me know if there is any more info needed.

By: dea (dea) 2007-07-09 16:17:45

This was originally broken in 1.4.3 and first fixed in 1.4.5(or at least
reported as fixed.)  There was only a single change in chan_skinny between
1.4.5 and 1.4.6, so it would be interesting to know if 1.4.5 works for you.

By: sbisker (sbisker) 2007-07-10 10:30:35

I just tested it again on several versions

It is broken in:

1.4.4
1.4.5
1.4.6
1.4.7

By: dea (dea) 2007-07-11 15:26:16

Patch mismerge.

On line 4101 of chan_skinny.c we have this:
d->exten[len] = dgt;
d->exten[len] = '\0';

Anyone see the problem?
Yup.  Add the '+1' to the second line and calls are once again possible:
d->exten[len] = dgt;
d->exten[len+1] = '\0';


Yes, I have a disclaimer on file (not that this should need one)



By: Jason Parker (jparker) 2007-07-12 11:01:42

Fixed in 1.4 in revision 74839.  Was not an issue in trunk.