Skip to main content

Posts

Showing posts from 2009

Astricon 2009 - Open Source Maximus

I'm at Astricon 2009, the Asterisk Development conference. Asterisk is an internet based, free phone system. Quite an interesting crowd of open source developers, solution providers, VOIP resellers, and hardware manufacturers; about 500 persons in total. Chris DiBona of Google gave the keynote this morning and focused on Open Source. He pointed out that the majority of time that Google is interested in a technology company that they fund/support the company to get to a stable build and then make it available to the entire Open Source community. There are somewhere around 32 billion lines of open source code; a code base that will outgrow and out-maneuver most proprietary software applications. Ironically Google does not use Asterisks; Google Voice is a proprietary application that is specifically works of off Google's core servers; which Asterisk will not. So much for embracing open source! I've been hanging out in the Coders Zone most of the day. The breadmaker a

Asterisk: Identify and Hanging Up a Call

When using an Asterisk with a SIP client like X-Lite; sometimes a disruption in the X-Lite client may occur, but Asterisks keeps the call active. If you're paying by the minute, this can be an expensive annoyance. Identify if Asterisk is still on the line by running the command: core show channels pbx*CLI> core show channels Channel Location State Application(Data) Zap/16-1 (None) Up Bridged Call(SIP/7118-b6b1c5d8 SIP/7118-b6b1c5d8 s@macro-dialout-trun Up Dial(ZAP/g0/48###71268|300|tT) Zap/13-1 (None) Up Bridged Call(SIP/7112-b6b0d0f8 SIP/7112-b6b0d0f8 s@macro-dialout-trun Up Dial(ZAP/g0/8884588762|300|tT) Zap/7-1 (None) Up Bridged Call(SIP/7103-b6e0dc68 SIP/7103-b6e0dc68 s@macro-dialout-trun Up Dial(ZAP/g0/60###77511|300|tT) Zap/11-1 (None) Up Bridged Call(SIP/7114-b6b2b8b0 SIP/7114-b6b2b8b0 s@macro-d

Killing Excessive Blocking Transactions in SQL

I recently made a small error in a SQL Server parsing function that caused an endless loop. Unfortunately SQL doesn't escalate an error and will allow these transactions to go on endlessly. I quickly realized the error and attempted to correct the SQL function. However since there were users stuck in this endless loop, my ALTER FUNCTION transaction was being blocked. KILLing individual SPIDs didn't work since I could not keep up with the number of backup of user requests. To circumvent this, I ran a process to KILL all queries blocking my SPID: declare @bCont bit, @i int, @s varchar(100) set @bCont = 1 while @bCont = 1 Begin select @i = blocked from master..sysprocesses where spid = 113 if isnull(@i , 0) <> 0 BEGIN set @bCont = 1 print @s SET @s = 'kill ' + convert(varchar(12), @i) exec (@s) waitfor delay '00:00:00.05' END else SET @bcont = 0 end