My favorites | Sign in
Project Home Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Copyright(c) 2010 Mike Telis

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

# Click "View raw file" in the lower right for the best copy/paste view

AREA_CODE = '717' # my area code
GV_USER = 'username@gmail.com' # my GV e-mail address (user@gmail.com)
GV_PASS = 'GV password' # my GV password
CB_NUMBER = '1aaaxxxyyyy' # my 11-digit SIP number (only one)

SPEED_DIAL = { # my speed dial numbers
'1' => '19879879876', # Mom
'123' => '12345678901', # Work
'45' => '17479876543', # Gizmo BFF
'411' => '8004664411', # Google 411
'266' => '4153767253@podlinez.com', # CNN Headlines
}

begin
sys.Log "** Call from #{req.Header.From} to #{req.URI.User} **"

if sys.Out # if outbound call
num = req.URI.User.to_s # Get a string copy of the number to dial

num = SPEED_DIAL[num] || num # Substitute with speed dial entry, if any

case num
when /@/ then sys.Dial num # URI dialing
when /^[2-9]\d{6}$/ # Local call, 7-digit number
num = '1'+ AREA_CODE + num # prefix it with country and area code
when /^[01]?([2-9]\d{9})/ # US number with or without country code
num = '1' + $1 # add country code and truncate number to 10-digit
when /^(011|00|\+)(\d{9,})/ # international number
num = '+' + $2 # GoogleVoiceCall works with '+' prefix only


else sys.Respond 603, 'Wrong number, check & dial again'
end

sys.Log "Calling #{num} via Google Voice"
sys.GoogleVoiceCall GV_USER, GV_PASS, CB_NUMBER, num, '.*', CB_NUMBER =~ /^1747/ ? 7 : 1, 30

else # sys.Out
sys.Dial "#{sys.Username}@local"
end

rescue
sys.Log("** Error: " + $!) unless $!.to_s =~ /Thread was being aborted./
end

Change log

r670 by easternpa on May 31, 2011   Diff
Podlinez.net has changed to Podlinez.com
Go to: 
Project members, sign in to write a code review

Older revisions

r456 by mtelis on Sep 10, 2010   Diff
Reduced min required number of digits
in ENUM (from 10 to 9)
r85 by easternpa on Jan 8, 2010   Diff
Added a note to use "view raw file"
for best copy/paste experience.
r84 by easternpa on Jan 8, 2010   Diff
changed "GV callback number" to read
"SIP number" to reduce the ongoing
confusion
All revisions of this file

File info

Size: 2361 bytes, 58 lines
Powered by Google Project Hosting