<div dir="ltr">Part of what is holding me back is all my systems are production critical for businesses. I need a business case for real world improvements pjsip has over chan_sip if I'm going to risk downtime and issues for hundreds of users.<div><br></div><div>I'm currently running certified Asterisks 11 on all my installs. In the past, versions before 1.8, just upgrading minor versions would cause headache as things would break or occasionally Asterisk would crash. I would have to read the changelogs and either back port a security fix or undo a patch that broke something. I will say that with the improvements to the test suite this appears to no longer be an issue especially with Asterisk 11.<br></div><div><div><br></div><div>I still need to go through the 11 to 13 migration where the bridging changes cause the CDR records to change. I have to set aside time to bring up a test system, make test calls, and rewrite my code that reads the CDR table and assigns sales rep call credit. I'm planing to do this middle of next year before 11 EOLs.</div><div><br></div><div>I'm looking to migrate to pjsip towards towards the middle of the 13 lifespan or when 15 releases as I only install certified LTS releases. I have patches for chan_sip to integrate with Exchange 2010/2013 including MWI support and patches for device feature key synchronization for DND and CW. I haven't tested pjsip, but I know the later isn't supported. Exchange is mission critical so if there are issues and I can't figure out how to write my own patches to solve it, I can't migrate to pjsip.</div><div><br></div><div>I think it would be reasonable to say that Asterisk 15 LTS is the last release for chan_sip. This gives everyone 6 years to migrate. In this time frame I have no doubt that the feature set and stability of pjsip will improve.</div><div><br></div><div>Ryan</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 5, 2016 at 7:29 AM, Eric Klein <span dir="ltr"><<a href="mailto:eric.klein@greenfieldtech.net" target="_blank">eric.klein@greenfieldtech.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>James, </div><div><br></div><div>You missed a few points:</div><div>1. There needs to be a move in the training materials, and DCAP exam away from (the soon to be depriciated) version 11 and move into versions that support PJSip - familiarity will breed use.</div><div><br></div><div>2. One suggestion to do this was to declare that Chan_Sip would be depreciated in version 15 or 16. This would not mean removing it from the code, but that going forward (for 1 or 2 more releases) it would only get security fixes and no more development. This would have the benefit of  everyone would have 3-5 years to learn and transition to PJSip without breaking anything that is currently working,  while releasing development staff to improving the interface and problems with PJSip and other parts of Asterisk.</div><div><br></div><div><font color="#888888">Eric Klein<br>VP of Customer Experience<br>GreenfieldTech <br>Mobile <a value="+972546660933">+972-54-666-0933<br>Email Eric.Klein@<wbr>greenfieldtech.net</a></font><a value="+972546660933"><br></a><font color="#888888">Skype: EricLKlein<br>Web: <a href="http://www.greenfieldtech.net/" target="_blank">http://www.<wbr>greenfieldtech.net/</a><br><img src="http://www.greenfieldtech.net/wp-content/uploads/2011/04/wp_logo.png"></font><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">Message: 5</span><br style="font-size:12.8px"><span style="font-size:12.8px">Date: Tue, 4 Oct 2016 17:46:52 -0700</span><br style="font-size:12.8px"><span style="font-size:12.8px">From: James Finstrom <</span><a href="mailto:jfinstrom@gmail.com" style="font-size:12.8px" target="_blank">jfinstrom@gmail.com</a><span style="font-size:12.8px">></span><br style="font-size:12.8px"><span style="font-size:12.8px">To: Asterisk Developers Mailing List <</span><a href="mailto:asterisk-dev@lists.digium.com" style="font-size:12.8px" target="_blank">asterisk-dev@lists.digium.com</a><span style="font-size:12.8px"><wbr>></span><br style="font-size:12.8px"><span style="font-size:12.8px">Subject: [asterisk-dev] Viva Chan_Sip, may it rest in peace</span><br style="font-size:12.8px"><span style="font-size:12.8px">Message-ID:</span><br style="font-size:12.8px"><span style="font-size:12.8px">        <CAE3BMY2OBso2iF6xOR4wreGeSH-</span><span style="font-size:12.8px">T<wbr>sFh5=</span><a href="mailto:FV8NdZQxr_8F2Rb4A@mail.gmail.com" style="font-size:12.8px" target="_blank">FV8NdZQxr_8F2Rb4A@mail.gm<wbr>ail.com</a><span style="font-size:12.8px">></span><br style="font-size:12.8px"><span style="font-size:12.8px">Content-Type: text/plain; charset="utf-8"</span><div><div class="h5"><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">So the discussion of deprecating chan_sip came up at the devcon this year</span><br style="font-size:12.8px"><span style="font-size:12.8px">and it caused a bit of a stir. The end result was the need for broader</span><br style="font-size:12.8px"><span style="font-size:12.8px">discussion with a wider audience.  So let's discuss.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Currently, Asterisk is running dual sip stacks. The argument is that to</span><br style="font-size:12.8px"><span style="font-size:12.8px">deprecate PJSIP there must be broader adoption. There is currently nothing</span><br style="font-size:12.8px"><span style="font-size:12.8px">motivating adoption but much slowing it.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">What are some of the hurdles to adoption?</span><br style="font-size:12.8px"><span style="font-size:12.8px">1. Apathy.  If it ain't broke don't fix it. Many would argue chan_sip is</span><br style="font-size:12.8px"><span style="font-size:12.8px">broke but it is the "devil you know". A decade of documentation and a broad</span><br style="font-size:12.8px"><span style="font-size:12.8px">user base allows people to be pretty forgiving of flaws. Almost any issue</span><br style="font-size:12.8px"><span style="font-size:12.8px">has some sort of work around or generally accepted idea of I guess we can</span><br style="font-size:12.8px"><span style="font-size:12.8px">live with it.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">2. One Ring to rule them all!!  PJSIP requires up to 6 sections of</span><br style="font-size:12.8px"><span style="font-size:12.8px">configuration. Once you dig in, this method makes sense. But at a glance,</span><br style="font-size:12.8px"><span style="font-size:12.8px">you have just multiplied the workload to  6 times that of chan_sip's single</span><br style="font-size:12.8px"><span style="font-size:12.8px">blob config. Though it is not really 600% more effort it may be enough to</span><br style="font-size:12.8px"><span style="font-size:12.8px">scare some away</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">3. Mo Adoption, Mo problems!</span><br style="font-size:12.8px"><span style="font-size:12.8px">The only way to clean up all the edge cases and weird bugs is to hit them</span><br style="font-size:12.8px"><span style="font-size:12.8px">in the first place.  Dogfooding only gets you so far.  You can make</span><br style="font-size:12.8px"><span style="font-size:12.8px">anything working clean in a single environment and single use case. But</span><br style="font-size:12.8px"><span style="font-size:12.8px">what happens when people start flinging wrenches. Things break. 100</span><br style="font-size:12.8px"><span style="font-size:12.8px">wrenches may break 10 things. 1000 wrenches may break 100 things.  In the</span><br style="font-size:12.8px"><span style="font-size:12.8px">ladder case, you have 100 people saying pjsip sucks, and pjsip is crap. As</span><br style="font-size:12.8px"><span style="font-size:12.8px">with all things the 900 assume all is good and move on with their lives</span><br style="font-size:12.8px"><span style="font-size:12.8px">telling no one of their glory. So you have 10% of the voices running</span><br style="font-size:12.8px"><span style="font-size:12.8px">unopposed. You fix the 100 issues and that is great but those 100 people</span><br style="font-size:12.8px"><span style="font-size:12.8px">have gone back to the comfort of chan_sip and are stuck at point 1.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">Escaping the cycle.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">So how do we dredge through this mess and get high adoption?</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">You have to make #1 not an option.  This means potentially breaking the</span><br style="font-size:12.8px"><span style="font-size:12.8px">universe. This is why I think there is a tendency to be gunshy. No one</span><br style="font-size:12.8px"><span style="font-size:12.8px">wants to be the guy who broke the universe.  But breaking the universe gets</span><br style="font-size:12.8px"><span style="font-size:12.8px">us to #3 without falling back into #1.   Once The universe breaks and we</span><br style="font-size:12.8px"><span style="font-size:12.8px">are in #3 many of the edges will be found and fixed. Suddenly PJSIP becomes</span><br style="font-size:12.8px"><span style="font-size:12.8px">usable in most, if not all situations. The issues in #2 will automatically</span><br style="font-size:12.8px"><span style="font-size:12.8px">resolve as there is more information and it becomes the "accepted way" of</span><br style="font-size:12.8px"><span style="font-size:12.8px">doing things.  The old dogs will have to refactor how they do configuration</span><br style="font-size:12.8px"><span style="font-size:12.8px">but I am confident once they do a few they will figure out the bark is</span><br style="font-size:12.8px"><span style="font-size:12.8px">bigger than the bite.</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">tl;dr to get adoption you have to force it.  There will be blood, but</span><br style="font-size:12.8px"><span style="font-size:12.8px">nothing that can't be cleaned up with a little bleach and some elbow grease</span><br style="font-size:12.8px"><br style="font-size:12.8px"><span style="font-size:12.8px">--</span><br style="font-size:12.8px"><span style="font-size:12.8px">James</span><br style="font-size:12.8px"></div></div><span style="font-size:12.8px">-------------- next part --------------</span><br style="font-size:12.8px"><span style="font-size:12.8px">An HTML attachment was scrubbed...</span><br style="font-size:12.8px"><span style="font-size:12.8px">URL: <</span><a href="http://lists.digium.com/pipermail/asterisk-dev/attachments/20161004/71b91854/attachment-0001.html" rel="noreferrer" style="font-size:12.8px" target="_blank">http://lists.digium.com/piper<wbr>mail/asterisk-dev/attachments/<wbr>20161004/71b91854/attachment-<wbr>0001.html</a><span style="font-size:12.8px">></span><br></blockquote></div>
</div></div>
<br>--<br>
______________________________<wbr>______________________________<wbr>_________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer" target="_blank">http://lists.digium.com/<wbr>mailman/listinfo/asterisk-dev</a><br></blockquote></div><br></div>