Skip to content

Instantly share code, notes, and snippets.

@avimar
avimar / ActiveCalls.php
Created July 13, 2010 18:34
SipSorcery REST PHP Code
<?php
$user="USER";
$pass="PASS";
include("SipSorcery.inc.php");
ini_set('session.use_only_cookies',1);
ini_set('session.gc_maxlifetime',31557600);
session_set_cookie_params(24*24*60);
session_start();
@avimar
avimar / gist:3092732
Created July 11, 2012 19:37
install node.js from source with salt
nodejs-deps:
pkg.installed:
- names:
- g++
- curl
- libssl-dev
- apache2-utils
require:
- pkg: git
@avimar
avimar / gist:3146678
Created July 19, 2012 20:42
auto-opper written in node
console.log("Bot Started...");
process.on('uncaughtException', function (err) { console.log('OMG something went really wrong: ' + err); });
var irc = require('irc');
//https://github.com/martynsmith/node-irc
//npm install irc
var MYBOT = {};
MYBOT.channelname = "#node.js";
MYBOT.nick = "ryan_opper";
@avimar
avimar / test-affected-rows.js
Created July 21, 2012 21:31
node-mysql unit test for affected rows
var common = require('../common');
var connection = common.createConnection();
var assert = require('assert');
common.useTestDb(connection);
var table = 'insert_test';
connection.query([
'CREATE TEMPORARY TABLE `' + table + '` (',
'`title` varchar(255),',
@avimar
avimar / gist:3172823
Created July 24, 2012 21:34
nginx reverse proxy node.js
upstream node_js {
server 127.0.0.1:8000;
}
server {
...
...
location ~^/nodejs/ {
@avimar
avimar / build.sls
Created August 8, 2012 19:04
FreeSWITCH Salt install file
freeswitch-build:
pkg:
- installed
- names:
- build-essential
- curl
- wget
- autoconf
- automake
- libtool
@avimar
avimar / playerror.lua
Created January 23, 2013 07:14
Avi's Freeswitch play error lua script
calling_card = session:getVariable("calling_card_ivr")
cause = session:getVariable("originate_disposition")
cause2=session:getVariable("bridge_hangup_cause")
if cause == nil then cause="none" end
session:execute("log", "DEBUG Hangup cause: "..cause);
if cause2 == nil then cause2="none" end
session:execute("log", "DEBUG bridge hangup cause: "..cause2);
@avimar
avimar / gist:5968480
Created July 10, 2013 17:47
Install newrelic with salt-stack on your debian/ubuntu system
#install instructions at https://newrelic.com/docs/server/server-monitor-installation-ubuntu-and-debian
base:
pkgrepo.managed:
- humanname: Newrelic PPA
- name: deb http://apt.newrelic.com/debian/ newrelic non-free
# - dist: precise
- file: /etc/apt/sources.list.d/newrelic.list
- keyid: 548C16BF
- keyserver: subkeys.pgp.net
@avimar
avimar / auth.tag
Created July 16, 2015 10:41
Example of riotj's router
<auth>
<login if={'login'==opts.action || 'logout' == opts.action} action={opts.action}></login>
<register if={'register' == opts.action}></register>
<change-pass if={'verifyEmail' == opts.action || 'changePass' == opts.action} action={opts.action} uid={opts.uid} data={opts.data}></changePass>
<script>
console.log(opts.action);
if(opts.action=='login' && Cookies.get('apiKey')) riot.route('myAccount');
if(opts.action=='register' && Cookies.get('apiKey')) riot.route('myAccount');
else if(opts.action=="" && Cookies.get('apiKey')) riot.route('myAccount');
it('should round up to the next billing interval', function(){
var cases = [//number, expect, increment
{ n: 4000, e: 6, i:6 },
{ n: 6001, e: 12, i:6 },
{ n: 17999, e: 18, i:6 },
{ n: 1, e: 6, i:6 },
{ n: 62000, e: 66, i:6 },
{ n: 1, e: 1, i:1 },
{ n: 62000, e: 120, i:60 },
];