<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>