<div dir="ltr">I don't have a preference in this fight. I am like Switzerland.  Full disclosure for those unaware I am one of the FreePBX developers. We support both stacks individually and together.  The project made a decision (good, bad or otherwise) to push PJSIP as the default stack. This only affects new installs and we, by no means force any migration. I think many seasoned users go in and flip to chan_sip on new installs. New users run with it and are adopting PJSIP because they haven't used anything else. The learning curve for a new user would be the same in either stack.<div><br></div><div>My origin story is Zaptel.... I lived through the great Zaptel/Dahdi migration (and all I got was this stupid t-shirt). There was some rough patches there but we survived.  As mentioned it is not going to be a here today gone tomorrow kind of thing.  I think everyone gets the business implementation.  Many in the community and open source world have worked overtime to legitimize "free software" and no one wants to make any wild west moves to reverse that.  There are things in Asterisk deprecated back in 1.6 still present. Deprecation is a request to move on. There has been a few replies where people took the plunge and migrated. Note they didn't do it in a binary manner. They migrated over time and built a platform that fits their business. The effort ranges from trivial to "nope".  The trivial people have likely moved. The sell has to be to those towards the other end of the spectrum.  You have to convince the "nope people" that it is worth the move.  </div><div><br></div><div>I think there was a mention of over 50% adoption as a desired metric to depreciate.  I can see this as a viable goal. With 50% adoption, that should cover a majority of edge cases and bring most bugs to the surface. </div><div><br></div><div>Maybe a good task for any working group would be to go to voip-info and supply PJSIP information wherever there is chan_sip information.  When anyone old or new googles, like it or not the top results are usually voipinfo. Also it may be useful on those pages to link to the official wiki wherever appropriate. This should help googlers get back to current information.  </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 5, 2016 at 4: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><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">James </div></div>
</div>