Summary:ASTERISK-15714: [patch] Patch to fix 15609 broke followme
Reporter:ianc (ianc)Labels:
Date Opened:2010-02-28 17:42:03.000-0600Date Closed:2011-06-07 14:00:50
Versions:Frequency of
Environment:Attachments:( 0) fix_followme_channel.diff
Description:Upgrading to current 1.6 versions broke followme for me. As soon as I pick up the phone the channel is dropped. When I revert the patch for issue 15609 implemented in it works as expected ("You have an incoming call, press 1...")

   -- SIP/worldline_outgoing-00000001 is making progress passing it to Local/17775551212@follow-2e4c;2
   -- Local/17775551212@follow-2e4c;1 is making progress passing it to SIP/worldline1-00000000
   -- SIP/worldline_outgoing-00000001 answered Local/17775551212@follow-2e4c;2
   -- Local/17775551212@follow-2e4c;1 answered SIP/worldline1-00000000
   -- Starting playback of followme/call-from

   -- SIP/worldline_outgoing-00000001 is making progress passing it to Local/17775551212@follow-d1ba;2
   -- SIP/worldline_outgoing-00000001 answered Local/17775551212@follow-d1ba;2
 == Spawn extension (follow, 17775551212, 1) exited non-zero on 'Local/17775551212@follow-d1ba;2'





exten => _X.,1,Congestion

switch => DUNDi/priv

exten => 100,1,NoOp ; Add more as required...
exten => *97,1,NoOp

exten => 100,1,Goto(internal,100,1)
exten => *97,1,Goto(internal,*97,1)
include => world

exten => _1XXXXXXXXXX,1,Set(CALLERID(all)=Ian <7775558888>)
exten => _1XXXXXXXXXX,n,Dial(SIP/worldline_outgoing/${EXTEN})
exten => _1XXXXXXXXXX,n,Hangup
exten => _XXXXXXXXXX,1,Set(CALLERID(all)=Ian <7775558888>)
exten => _XXXXXXXXXX,n,Dial(SIP/worldline_outgoing/1${EXTEN})
exten => _XXXXXXXXXX,n,Hangup

include => lookupdundi
include => followworld

exten => _1XXXXXXXXXX,1,Dial(SIP/worldline_outgoing/${EXTEN})
exten => _1XXXXXXXXXX,n,Hangup
exten => _XXXXXXXXXX,1,Dial(SIP/worldline_outgoing/1${EXTEN})
exten => _XXXXXXXXXX,n,Hangup

include => lookupdundi
include => world

exten => 99,1,Answer
exten => 99,n,Playtones(ring)
exten => 99,n,Followme(100,d)
exten => 99,n,VoiceMail(200,su)
exten => 99,n,Hangup()

exten => *97,1,Answer
exten => *97,n,VoiceMailMain(200@default)
exten => *97,n,Hangup
Comments:By: SplatNIX (uxbod) 2010-03-01 09:32:25.000-0600

How was the patch backed out ? We have a similar issue in which is causing us a real problem. Would be nice to try your fix.

By: ianc (ianc) 2010-03-01 10:22:26.000-0600

I want to be clear that this is not a fix... the original patch was put in there for a reason, it's just not quite right.

Diff channels/chan_local.c between and, there's only one change. All I did was undo that.

By: SplatNIX (uxbod) 2010-03-01 10:39:59.000-0600

Thanks; to my untrained eye it would appear that other->appl should have been set within app_followme.c like in app_dial, app_queue and app_rpt.

By: ianc (ianc) 2010-03-01 10:54:38.000-0600

Hmm... cool, I'll look into that later.

By: ianc (ianc) 2010-03-01 11:57:56.000-0600

I think you were right, this fixes it for me.

By: SplatNIX (uxbod) 2010-03-01 12:00:30.000-0600

What change did you make Ian ? Long time since I have written any 'C' code so was not sure where to change it in the reference.

I am also wondering where else a application makes a call to local and does not set it; as that would show the same symptoms due to that previous patch.

By: ianc (ianc) 2010-03-01 12:01:59.000-0600

Patch is attached.

By: SplatNIX (uxbod) 2010-03-02 03:21:44.000-0600

Applied the patch to and followme is now working correctly.

By: mutineer612 (mutineer612) 2010-03-05 22:28:12.000-0600

I experienced the same issue described with Asterisk and applied the patch.  Followme is now working correctly.  

Steps used to patch
1.) Goto the directory that contains the app_followme.c source file > /asterisk-
2.) Run > wget 'https://issues.asterisk.org/file_download.php?file_id=25455&type=bug' -O - | patch -p0
3.) When prompted for file to patch type > 'app_followme.c'
4.) Re-Run 'make' to recompile the patched 'c' file to the .so file
5.) Copy the patched app_followme.so to > /usr/lib/asterisk/modules/ and overwrite the original.

By: Sean Brady (sbrady_gtfservices) 2010-03-08 05:01:04.000-0600

Applied the patch to, followme is working now.

By: George Qualley IV (qualleyiv) 2010-03-18 21:40:17

I applied this patch to and it worked. Upgraded to and although the call doesn't disconnect, it now plays the wrong sound file. After Followme calls and plays the caller's name, it SHOULD say "Press 1 to accept..." instead it says "I'm sorry, the party you are calling could not be located..."

I wasn't sure if this should be a separate issue, but I kind of thought that this was probably pretty closely related so I posted it here.

By: ianc (ianc) 2010-03-18 21:55:30

I expect that would be solved by my other patch: https://issues.asterisk.org/view.php?id=16930

That's apparently scheduled for

By: George Qualley IV (qualleyiv) 2010-03-18 22:02:19

Ah, sorry about that. Just a quick question, do you know offhand if I can apply that patch to

By: ianc (ianc) 2010-03-18 22:38:01

No worries. I'm still using, I'd be *real* surprised if you had any problems using it with though.

By: Tilghman Lesher (tilghman) 2010-03-21 21:48:45

There should no problems with 16.1.18 or  The Local channel fix has been backed out and replaced with a different fix.

By: Dmitry Andrianov (dimas) 2010-03-22 02:59:36

I'm not sure how correct the patch is but the fact is that 1.4.29 is also broken (no followme prompt) and the patch attached fixes the issue.

By: Tilghman Lesher (tilghman) 2010-03-22 10:32:56

dimas:  what about 1.4.30?

By: Dmitry Andrianov (dimas) 2010-03-23 02:07:37

Looks like 1.4.30 does not have this issue. (that is 1.4.30 fixes it)

By: Tilghman Lesher (tilghman) 2010-03-24 15:00:03

Already fixed in the latest release.