<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@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.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">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">asterisk-dev@lists.digium.com</a><wbr style="font-size:12.8px"><span style="font-size:12.8px">></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><wbr style="font-size:12.8px"><span style="font-size:12.8px">TsFh5=</span><a href="mailto:FV8NdZQxr_8F2Rb4A@mail.gmail.com" style="font-size:12.8px">FV8NdZQxr_8F2Rb4A@mail.<wbr>gmail.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><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"><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" target="_blank" style="font-size:12.8px">http://lists.digium.com/<wbr>pipermail/asterisk-dev/<wbr>attachments/20161004/71b91854/<wbr>attachment-0001.html</a><span style="font-size:12.8px">></span><br></blockquote></div>
</div></div>