<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Announcements (new posts)</title>
		<link>http://wikipbx.subwiki.com/forum/c-69182/announcements</link>
		<description>Posts in the forum category &quot;Announcements&quot; - News of new releases, changes, etc.</description>
				<copyright></copyright>
		<lastBuildDate>Sun, 05 Feb 2012 23:06:48 +0000</lastBuildDate>
		
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-218336#post-697268</guid>
				<title>CDR issues improved: CDR issues improved</title>
				<link>http://wikipbx.subwiki.com/forum/t-218336/cdr-issues-improved#post-697268</link>
				<description></description>
				<pubDate>Thu, 11 Feb 2010 17:54:15 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>There was an issue with wikipbx behavior when freeswitch passed CDR records that it could not match with any account (tenant). Now instead of returning an error to freeswitch (and jamming it up), it stores the cdr as unassociated and shows a warning on the completed calls screen. Also there is a new section in the root admin that shows unmatched CDRs.</p> <p>Next will be to fix the underlying cause of why the CDRs are not matched in the first place. In my case it was happening with a call that went out of a gateway, and maybe other situations.</p> <p>Fixed on *trunk only*, revision 248</p> <p>You will need to apply the DB patch called patch_2010_02_11.sql in the sqlpatches subdirectory.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-200313#post-644070</guid>
				<title>Version 0.8 released!!: Re: Version 0.8 released!!</title>
				<link>http://wikipbx.subwiki.com/forum/t-200313/version-0-8-released#post-644070</link>
				<description></description>
				<pubDate>Sat, 28 Nov 2009 22:29:18 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>How's the saying go .. "always deliver more than you promise". I gave us some extra margin :)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-200313#post-643808</guid>
				<title>Version 0.8 released!!: Re: Version 0.8 released!!</title>
				<link>http://wikipbx.subwiki.com/forum/t-200313/version-0-8-released#post-643808</link>
				<description></description>
				<pubDate>Sat, 28 Nov 2009 11:28:40 +0000</pubDate>
				<wikidot:authorName>stas_shtin</wikidot:authorName>				<wikidot:authorUserId>230176</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>"slated for November of 2018"</p> <p>O'RLY? :-)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-200313#post-643674</guid>
				<title>Version 0.8 released!!: Version 0.8 released!!</title>
				<link>http://wikipbx.subwiki.com/forum/t-200313/version-0-8-released#post-643674</link>
				<description></description>
				<pubDate>Sat, 28 Nov 2009 02:44:58 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>WikiPBX has been converted from being based on Twisted.web2, a somewhat exotic webserver, to running as a mod_wsgi app within Apache2. Actually it can run under any webserver that support mod_wsgi, which is a long list.</p> <p>Additionally, the multi-tenancy has been changed from sip profile based multi-tenancy, which is not really "the normal way" to do this .. to the standard approach of domain based multi-tenancy. Along with that comes the ability to manage sip profiles from the GUI.</p> <p>A lot of security enhancements have been added, it is possible to force sip profile wide authorization, as well as per-extension dialplan security — checking a flag in the dialplan will make it public (for anyone to access) or private (only registered users). The dialplan security is overlayed on top of the sip profile security .. and sip profile security takes precedence. (sip profile security is done by freeswitch whereas per-extension dialplan security is done by wikipbx)</p> <p>Gateways can now be per-tenant or shared among all tenants, and can be assigned to any sip profile on the system.</p> <p>Mod_voicemail now works with wikipbx, and is easy to configure. No GUI support yet in terms of visual voicemail.</p> <p>A really simple XML export / import has been added for existing users using version 0.5 to upgrated to version 0.8.</p> <p>Documentation has been completely re-written to reflect all changes in this release.</p> <p>What's still missing? The configuration XML that is served up to FreeSWITCH is really, really old. The only upshot is that they are served from static template files, so you can hack stuff in without having to look at any code. We are planning to fix this by the 1.0 release, slated for November of 2018.</p> <p>See <a href="http://wikipbx.subwiki.com/release-notes-0-8">release-notes-0-8</a> for more details on this release and how to install it.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-199341#post-640459</guid>
				<title>Upcoming release: Upcoming release</title>
				<link>http://wikipbx.subwiki.com/forum/t-199341/upcoming-release#post-640459</link>
				<description></description>
				<pubDate>Mon, 23 Nov 2009 17:53:16 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>A new release is coming soon, hopefully within the next few weeks but should be early Jan at absolute latest, which will feature:</p> <ul> <li>Domain based multi-tenancy</li> <li>Dialplan security (public / auth'd on an extension by extension basis)</li> <li>Runs as mod_wsgi app</li> <li>Works with mod_voicemail (before there were some issues)</li> <li>Improved registration status</li> <li>Etc..</li> </ul> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-164964#post-586269</guid>
				<title>Planned change: domain-based multi-tenancy instead of profile based multi-tenancy: Re: Planned change: domain-based multi-tenancy instead of profile based multi-tenancy</title>
				<link>http://wikipbx.subwiki.com/forum/t-164964/planned-change:domain-based-multi-tenancy-instead-of-profile#post-586269</link>
				<description></description>
				<pubDate>Wed, 16 Sep 2009 18:51:27 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>This is currently under heavy development! The forum has been quiet lately, but the project is moving full steam ahead.</p> <p>There are three people that are involved now, two core python developers and another guy who is a web developer, sysadmin, and runs a dialtone provider hosted PBX company.</p> <p>There will be a big new release with lots of improvements.. stay tuned. No exact date but probably on the order or 2 to 4 months if the momentum keeps up.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-164964#post-517571</guid>
				<title>Planned change: domain-based multi-tenancy instead of profile based multi-tenancy: Planned change: domain-based multi-tenancy instead of profile based multi-tenancy</title>
				<link>http://wikipbx.subwiki.com/forum/t-164964/planned-change:domain-based-multi-tenancy-instead-of-profile#post-517571</link>
				<description></description>
				<pubDate>Wed, 24 Jun 2009 17:41:30 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>WikiPBX has a fairly major "Design Issue" that is bound to come up in discussions, and so I want to document it here so people can understand the issue.</p> <p>The "standard" way for people to do multi-tenants with freeswitch is to let all tenants use the same profile(s), such as the default config internal and external profiles, and have everything partitioned by domain. So if a call comes in on foo.com on port 5060, then it will go into a dialplan for the "foo.com" tenant. Likewise if a call comes in on bar.com on port 5060, it will go into the dialplan for the "bar.com" tenant. The point is that they both live on the same port (and therefore profile), but have completely different dialplans. These two tenants could also live on more profiles, such as the external profile on port 5080.</p> <p>The way WikiPBX does it is much differently. Every tenant gets their <strong>own</strong> SIP Profile and the partitioning of dialplans and so forth is done based on profile. When freeswitch asks WikiPBX what to do for a particular extension, WikiPBX checks the sip port, which is uniquely mapped to a profile, and then knows which tenant to use, and looks up that tenant's dialplan in the database. So the "foo.com" tenant gets port 5060 and a profile named "foo.com", the "bar.com" tenant gets port 5061 and a profile named "bar.com", and so on for each tenant ..</p> <p>The consequences is that in certain things, like mod_voicemail, WikiPBX cannot integrate nicely with freeswitch.</p> <p>The long-term plan is to switch everything over to domain-based multi-tenancy, and either offer an option to stick with profile based multi-tenancy, or just throw that approach away altogether.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-155106#post-511052</guid>
				<title>Documenting a well known &quot;bug&quot; (design flaw) -- blocking db calls in async io context: Re: Documenting a well known &quot;bug&quot; (design flaw) -- blocking db calls in async io context</title>
				<link>http://wikipbx.subwiki.com/forum/t-155106/documenting-a-well-known-bug-design-flaw-blocking-db-calls-i#post-511052</link>
				<description></description>
				<pubDate>Wed, 17 Jun 2009 08:34:14 +0000</pubDate>
				<wikidot:authorName>stas_shtin</wikidot:authorName>				<wikidot:authorUserId>230176</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>That's not quite correct. Wikipbx runs every request in its own thread - see twisteddjango module and "grep thread -i". So the blocking DB calls are running in there own threads.</p> <p>I think that the problem of slowing down on heavy load may be caused by the small default thread pool size. If you can test it with default thread pool size and increased as described in twisted threading docs, that may give interesting numbers.</p> <p>But decoupling django and twisted is still a better solution here.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-163040#post-510206</guid>
				<title>Update freepy library to get &quot;live call&quot; related fixes: Update freepy library to get &quot;live call&quot; related fixes</title>
				<link>http://wikipbx.subwiki.com/forum/t-163040/update-freepy-library-to-get-live-call-related-fixes#post-510206</link>
				<description></description>
				<pubDate>Tue, 16 Jun 2009 09:23:23 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>The freepy socket library, which is used by wikipbx, had some bugs that were causing things not to work on the "live calls" page. Update to the latest freepy to get these fixes.</p> <p>Details here: <a href="http://wikipbx.subwiki.com/forum/t-163001/problems-transferring-live-calls">http://wikipbx.subwiki.com/forum/t-163001/problems-transferring-live-calls</a></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-155106#post-476277</guid>
				<title>Documenting a well known &quot;bug&quot; (design flaw) -- blocking db calls in async io context: Documenting a well known &quot;bug&quot; (design flaw) -- blocking db calls in async io context</title>
				<link>http://wikipbx.subwiki.com/forum/t-155106/documenting-a-well-known-bug-design-flaw-blocking-db-calls-i#post-476277</link>
				<description></description>
				<pubDate>Mon, 11 May 2009 23:45:22 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <h1><span>WikiPBX uses blocking database calls in a twisted webserver</span></h1> <p>This is basically a scalability bug that can have a negative impact when the server runs under a heavy load. The bug will be more apparent if there are long running queries or the database is slow for whatever reason.</p> <p>The problem is that the webserver is running in a non-blocking io environment (eg, twisted web2), but the code makes blocking database calls in many places. So if a database call takes a long time, the whole server will "lock up" for new requests until the long running database call unblocks.</p> <p>The best solution is to move away from using twisted and non-blocking io and use a more traditional multi-threaded/multi-process webserver, eg, mod_wsgi running under Apache2 or nginx.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-153279#post-469800</guid>
				<title>Template conversion complete!: Re: Template conversion complete!</title>
				<link>http://wikipbx.subwiki.com/forum/t-153279/template-conversion-complete#post-469800</link>
				<description></description>
				<pubDate>Tue, 05 May 2009 18:33:29 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <blockquote> <p>Moreover, looks like instead of XML tree we should be able to use dialplan template here to make it more customizable.</p> </blockquote> <p>Done - svn revision 76</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-153279#post-469066</guid>
				<title>Template conversion complete!: Re: Template conversion complete!</title>
				<link>http://wikipbx.subwiki.com/forum/t-153279/template-conversion-complete#post-469066</link>
				<description></description>
				<pubDate>Tue, 05 May 2009 04:47:10 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <blockquote> <p>Freeswitch docs tell that variables should be resolved normally in this case.</p> </blockquote> <p>Yeah, I just tested it against freeswitch revision 13223 and it worked. So it was fixed somewhere between freeswitch revision 10359 snd 13223.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-153279#post-468302</guid>
				<title>Template conversion complete!: Re: Template conversion complete!</title>
				<link>http://wikipbx.subwiki.com/forum/t-153279/template-conversion-complete#post-468302</link>
				<description></description>
				<pubDate>Mon, 04 May 2009 17:15:06 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I'll clean up the dialplan builidng stuff and convert it to use templates as well.</p> <p>Thanks for the link to the freeswitch docs .. it sounds like that variable resolution might actually work. I will test it on a later version of freeswitch and see what happens.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-153279#post-467981</guid>
				<title>Template conversion complete!: Re: Template conversion complete!</title>
				<link>http://wikipbx.subwiki.com/forum/t-153279/template-conversion-complete#post-467981</link>
				<description></description>
				<pubDate>Mon, 04 May 2009 10:02:11 +0000</pubDate>
				<wikidot:authorName>stas_shtin</wikidot:authorName>				<wikidot:authorUserId>230176</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Freeswitch docs tell that variables should be <a href="http://wiki.freeswitch.org/wiki/Mod_xml_curl#Preprocessor_directives_and_variables">resolved normally</a> in this case.</p> <p>Also, looks like dialplanbuilder.build_xml function has some incostintencies. First we create an XML tree starting with context tag, then check if current extension has condition tag and if it does we use string substitution with another string. So in the latter case there was no need to create XML tree here. Moreover, looks like instead of XML tree we should be able to use dialplan template here to make it more customizable. This would let the users to easily change all dialplans easily, e.g. could be used for setting some variables, silence detection, authorization checks.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-153279#post-467793</guid>
				<title>Template conversion complete!: Template conversion complete!</title>
				<link>http://wikipbx.subwiki.com/forum/t-153279/template-conversion-complete#post-467793</link>
				<description></description>
				<pubDate>Mon, 04 May 2009 05:02:21 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>In subversion versions 71-74, the code has been converted to use Django templates for nearly all configuration served up by wikipbx, "nearly call" because the dialplan xml does not use templates .. and I'm not sure if it really needs to. Sofia, xml cdr, event socket, and directory configuration are now all template based.</p> <p>Now it should be much easier to customize the configuration to your specific needs when that customization is not supported in the web interface / database.</p> <p>The templates are still outdated compared to the current config, and will be brought up to date soon. But it should be fairly easy since it is just a matter of merging in new parameters to the xml template. (all templates are located in the freeswitchxml subdirectory).</p> <p>WARNING: don't try to use default variables like $${foo} that are defined in vars.xml in the static freeswitch config. This will be passed verbatim to freeswitch, which will not resolve the variable. Not sure if this is a bug in freeswitch or by design. Only tested against an old version of freeswitch (10300) so your mileage may vary.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-146884#post-462763</guid>
				<title>Fixed errors on freeswitch startup: Re: Fixed errors on freeswitch startup</title>
				<link>http://wikipbx.subwiki.com/forum/t-146884/fixed-errors-on-freeswitch-startup#post-462763</link>
				<description></description>
				<pubDate>Tue, 28 Apr 2009 12:11:35 +0000</pubDate>
				<wikidot:authorName>tjaracas</wikidot:authorName>				<wikidot:authorUserId>302813</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>yeah, that eventually was what I did. The pythonpath setting was causing my problems.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-146884#post-461871</guid>
				<title>Fixed errors on freeswitch startup: Re: Fixed errors on freeswitch startup</title>
				<link>http://wikipbx.subwiki.com/forum/t-146884/fixed-errors-on-freeswitch-startup#post-461871</link>
				<description></description>
				<pubDate>Mon, 27 Apr 2009 22:25:27 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I think you probably have the /usr/src directory on your PYTHONPATH environment variable (as the instructions suggest to do), and so it was picking up the "old stuff" in /usr/src/wikipbx.</p> <p>I guess the following would have been better:</p> <ul> <li>mv /usr/src/wikipbx /usr/src/wikipbx.OLD</li> <li>cd /usr/src; svn co .. to create a new /usr/src/wikipbx with latest code</li> <li>cp /usr/src/wikipbx.OLD/settings.py /usr/src/wikipbx</li> </ul> <p>Then if the new version was broken, it would be easy to rollback ..</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-146884#post-461860</guid>
				<title>Fixed errors on freeswitch startup: Re: Fixed errors on freeswitch startup</title>
				<link>http://wikipbx.subwiki.com/forum/t-146884/fixed-errors-on-freeswitch-startup#post-461860</link>
				<description></description>
				<pubDate>Mon, 27 Apr 2009 22:00:12 +0000</pubDate>
				<wikidot:authorName>tjaracas</wikidot:authorName>				<wikidot:authorUserId>302813</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Sorry it is OK. Strange but OK. What I did was downloading the trunk to another location than /usr/src/wikipbx and copied the settings.py from the older version into the new version. Changed the INSTALL _ROOT to the new location and ran ./wikipbx.sh. At that moment in time the new code was not executed. I fixed it by deleting the /usr/src/wikipbx directory and copying the template settings.py to settings.py and manually putting the corect settings in the settings.py. hereafter I started the ./wikipbx.sh and it generated the new *.py_c files. Now the 404`s are gone on startup.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-146884#post-459631</guid>
				<title>Fixed errors on freeswitch startup: Re: Fixed errors on freeswitch startup</title>
				<link>http://wikipbx.subwiki.com/forum/t-146884/fixed-errors-on-freeswitch-startup#post-459631</link>
				<description></description>
				<pubDate>Fri, 24 Apr 2009 22:33:01 +0000</pubDate>
				<wikidot:authorName>tjaracas</wikidot:authorName>				<wikidot:authorUserId>302813</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I downloaded and configured the latest wikipbx from the svn link but see no improvements according the 404 error message in freeswitch console-.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://wikipbx.subwiki.com/forum/t-146884#post-448199</guid>
				<title>Fixed errors on freeswitch startup: Fixed errors on freeswitch startup</title>
				<link>http://wikipbx.subwiki.com/forum/t-146884/fixed-errors-on-freeswitch-startup#post-448199</link>
				<description></description>
				<pubDate>Tue, 14 Apr 2009 04:09:55 +0000</pubDate>
				<wikidot:authorName>tleyden</wikidot:authorName>				<wikidot:authorUserId>230690</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>svn commit 70 fixes a really annoying bug in wikipbx which caused freeswitch to spit out a number of alarming errors during startup.</p> <p>The fix was simple, just return the appropriate "not found" xml rather than an HTTP 404.</p> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>
