Set up VoIP call termination
Hi, my client is send to SIP G711, G729 Voip calls through the internet, how can I use cisco router 2811 for terminate the calls? I do not have a PSTN. Thanks
You just need to take one minute to search CCO for "SIP trunk configuration" to get the docs
Cisco CallManager Express (CME) SIP Trunking Configuration Example
http://www.cisco.com/en/US/partner/products/sw/voicesw/ps4625/products_configuration_example09186a00808f9666.shtml
HTH
java
If this helps, please rate
www.cisco.com/go/pdihelpdesk
Similar Messages
-
Problems setting up VOIP calls on Nokia E71
can anyone help on how to set up VOIP calls correctly on E71? what should I put in for Public user name? and then username and password??
please helpHi David,
Why not apply a access list to filter incoming traffic into the SG300 switch such as, via command line or GUI.
Here is an example below, by no means complete, just an example
Just remember, we are using reverse masking in the ACE;
config
ip access-list extended restrictGuest
deny ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255
deny tcp 192.168.30.0 0.0.0.255 any 192.168.30.1 0.0.0.0 www
deny tcp 192.168.30.0 0.0.0.255 any 192.168.30.1 0.0.0.0 telnet
deny ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255
permit ip any any
exit
interface gigabitethernet1
service-acl input restrictGuest
exit
Don't forget to save the configuration with the following command and respond to the prompt.
write
or do it via the GUI method
Step 1. Create a ACL name
step 2, Add the port based ACE which is the filter list,.
step 3. Apply or bind the list to a port so that the port can look at and filter pattern matches for traffic ingressing into the switch. I have given you an example of a ACE list above, you can be more creative in what you deny.
step 4. Now add or copy the entry to other switch ports.
Remember to save your configuration change.
Hope this helps.
regards Dave -
Redirecting Voip call to another termination router
Hello All
The structure is very simple: There is one originating router (as5300 let say A) and
one terminating router (as5300 let say B) with 1 pri line. I want to route some calls whose have specific destination pattern from B to another router (let say C) to be terminated.
I have used "dial-peer voice xx voip" with "session target ipv4:x.x.x.x. on B.
But it failed. When I debug it on B ,it gives " can not gateway with C".
Do you think the idea is wrong for this structure . or how can I do this ( PS :I can administrate only termination routers )
thanks in advance..to tapatel:
First of all thank you for your assistance
Router B is not making call origination, it is only termination router.
Router A (I do not manage router A), is sending voip calls to B and I want to route some calls which has specific destination pattern from B to C. The configuration for B is like this:
! the dial-peer 101 and 99 below is working properly
dial-peer voice 101 pots
destination-pattern 3054T
port 0:1
prefix ,054
dial-peer voice 99 voip
destination pattern 3054T
session target ipv4:10.2.2.2 (the ip address of router A)
! I want to route it to router C with the lines below
dial-peer voice 102 voip
destination-pattern 30549238.....
session target ipv4:10.10.1.124 (this is the ip address of router C)
May be I have to use gatekeeper for this project but i am not sure if it is necessary. -
HELP Can't call terminal by Mod4+Enter (awesome wm)
I can't call terminal by binding key Mod4+Enter. What wrong happened with my rc.lua ?. Please help me. My english not well, sorry everyone.!
-- z1lt0id Awesome WM 3.5.+ config --
-- github.com/z1lt0id --
-- Varation of github.com/copycat --
-- Required Libraries
gears = require("gears")
awful = require("awful")
awful.rules = require("awful.rules")
awful.autofocus = require("awful.autofocus")
wibox = require("wibox")
beautiful = require("beautiful")
naughty = require("naughty")
vicious = require("vicious")
scratch = require("scratch")
-- layouts
layouts = require("layouts")
-- Conky
function get_conky()
local clients = client.get()
local conky = nil
local i = 1
while clients[i]
do
if clients[i].class == "Conky"
then
conky = clients[i]
end
i = i + 1
end
return conky
end
function raise_conky()
local conky = get_conky()
if conky
then
conky.ontop = true
end
end
function lower_conky()
local conky = get_conky()
if conky
then
conky.ontop = false
end
end
function toggle_conky()
local conky = get_conky()
if conky
then
if conky.ontop
then
conky.ontop = false
else
conky.ontop = true
end
end
end
-- Run once function
function run_once(cmd)
findme = cmd
firstspace = cmd:find(" ")
if firstspace then
findme = cmd:sub(0, firstspace-1)
end
awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. cmd .. ")")
end
run_once("compton --backend glx --paint-on-overlay --vsync opengl-swc --unredir-if-possible --shadow-exclude 'n:a:Conky' --blur-background-exclude 'n:a:Conky' --config ~/.compton.conf -b")
-- run_once("nm-applet")
-- run_once("/opt/dropbox/dropboxd")
run_once("mpd")
run_once("conky ~/.conkyrc")
run_once("unclutter -idle 1")
-- Localization
os.setlocale("en_AU.UTF-8")
-- Error Handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
-- Handle runtime errors after startup
do
in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = err })
in_error = false
end)
end
-- Variable Definitions
home = os.getenv("HOME")
confdir = home .. "/.config/awesome"
scriptdir = confdir .. "/script/"
themes = confdir .. "/themes"
active_theme = themes .. "/blackburn"
beautiful.init(active_theme .. "/theme.lua")
terminal = "urxvt"
editor = "vim"
editor_cmd = terminal .. " -e " .. editor
gui_editor = "gedit"
browser = "dwb"
browser2 = "dwb"
mail = terminal .. " -g 130x30 -e mutt "
tasks = terminal .. " -e htop "
musicplr = terminal .. " -g 130x34-320+16 -e ncmpcpp "
modkey = "Mod4"
altkey = "Mod1"
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
awful.layout.suit.floating,
layouts.uselesstile,
layouts.termfair,
layouts.browse,
layouts.uselessfair,
layouts.centerwork,
-- Wallpaper
if beautiful.wallpaper then
for s = 1, screen.count() do
gears.wallpaper.maximized(beautiful.wallpaper, s, true)
end
end
-- Tags
tags = {
names = { " :) ", " :/ ", " :P ", " X) ", " ;) "},
layout = { layouts[1], layouts[2], layouts[2], layouts[2], layouts[2] }
for s = 1, screen.count() do
tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- Menu
myaccessories = {
{ "ranger", terminal .. " -depth 16 -g 130x30 -e ranger"},
{ "editor", gui_editor }
myinternet = {
{ "weechat", terminal .. " -g 130x30 -e weechat-curses" },
{ "sabnzbd" , "dwb http://localhost:9090" },
{ "transmission", terminal .. " -g 130x30 -e transmission-remote-cli -c xenogia:dot.dot.dot@localhost:9091" },
{ "sickbeard", "dwb http://localhost:8081" },
{ "couchpotato", "dwb http://localhost:5050"}
mymedia = {
{ "volume", "pavucontrol"},
{ "smplayer", "smplayer"},
{ "vlc", terminal .. " -e vlc -I ncurses" },
{ "cdw", terminal .. " -g 130x30 -e cdw"},
{ "devede", "devede"},
{ "ghb" , "ghb"}
mygames = {
{ "playonlinux", "playonlinux"},
{ "dosbox" , "dosbox"},
{ "desura", "desura"},
{ "steam", "steam" },
mygraphics = {
{ "gimp" , "gimp" },
{ "feh" , "feh" }
myoffice = {
{ "libreoffice" , "libreoffice" }
mysystem = {
{ "lxappearance" , "lxappearance" },
{ "gparted" , "sudo gparted"},
{ "htop" , tasks }
mymainmenu = awful.menu({ items = {
{ "accessories" , myaccessories },
{ "graphics" , mygraphics },
{ "internet" , myinternet },
{ "media" , mymedia },
{ "games" , mygames },
{ "office" , myoffice },
{ "system" , mysystem },
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- Colours
coldef = "</span>"
colwhi = "<span color='#b2b2b2'>"
colbwhi = "<span color='#ffffff'>"
blue = "<span color='#7493d2'>"
yellow = "<span color='#e0da37'>"
grey = "<span color='#636060'>"
purple = "<span color='#e33a6e'>"
lightpurple = "<span color='#eca4c4'>"
azure = "<span color='#80d9d8'>"
green = "<span color='#87af5f'>"
lightgreen = "<span color='#62b786'>"
red = "<span color='#bd0707'>"
orange = "<span color='#ff7100'>"
brown = "<span color='#db842f'>"
fuchsia = "<span color='#800080'>"
gold = "<span color='#e7b400'>"
lightblue="<span color='#3eae9e'>"
lightblue2="<span color='#266c76'>"
lightblue3="<span color='#285666'>"
lightblue4="<span color='#257c85'>"
lightblue5="<span color='#223d5a'>"
lightblue6="<span color='#235369'>"
offyellow="<span color='#857b52'>"
bottomgrey="<span color='#999999'>"
-- {{{ Wibox
-- {{{{ Temp
tempicon = wibox.widget.imagebox()
tempicon:set_image(beautiful.widget_temp)
tempwidget = wibox.widget.textbox()
vicious.register(tempwidget, vicious.widgets.thermal, bottomgrey .. " Temp: $1°C" .. coldef, 15, "thermal_zone0")
-- {{{ Kernel Info
sysicon = wibox.widget.imagebox()
sysicon:set_image(beautiful.widget_arch)
syswidget = wibox.widget.textbox()
vicious.register( syswidget, vicious.widgets.os, bottomgrey .. " Kernel: $2" .. coldef)
-- {{{ Uptime
uptimeicon = wibox.widget.imagebox()
uptimeicon:set_image(beautiful.widget_uptime)
uptimewidget = wibox.widget.textbox()
vicious.register( uptimewidget, vicious.widgets.uptime, bottomgrey .. " Uptime: $1d $2h $3m" .. coldef)
-- {{{ Cpu
-- CPU widget
cpuicon = wibox.widget.imagebox()
cpuicon:set_image(beautiful.widget_cpu)
cpuwidget = wibox.widget.textbox()
vicious.register(cpuwidget, vicious.widgets.cpu, bottomgrey .. " Cpu: $1%" .. coldef, 15)
cpuicon:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.util.spawn(tasks, false) end)))
-- {{{ Ram
-- Memory widget
memicon = wibox.widget.imagebox()
memicon:set_image(beautiful.widget_mem)
memwidget = wibox.widget.textbox()
vicious.register(memwidget, vicious.widgets.mem, bottomgrey .. " Memory: $2MB" .. coldef, 15)
-- {{{ Mpd
mpdicon = wibox.widget.imagebox()
mpdicon:set_image(beautiful.widget_mpd)
mpdwidget = wibox.widget.textbox()
-- Register widget
vicious.register(mpdwidget, vicious.widgets.mpd,
function (widget, args)
if args["{state}"] == "Stop" then
return " - "
else
return args["{Artist}"]..' - '.. args["{Title}"]
end
end, 10)
-- {{{ Net
-- Net widget
netdownicon = wibox.widget.imagebox()
netdownicon:set_image(beautiful.widget_netdown)
netdownicon.align = "middle"
netdowninfo = wibox.widget.textbox()
vicious.register(netdowninfo, vicious.widgets.net, green .. "${enp9s0 down_kb}" .. coldef, 1)
netupicon = wibox.widget.imagebox()
netupicon:set_image(beautiful.widget_netup)
netupicon.align = "middle"
netupinfo = wibox.widget.textbox()
vicious.register(netupinfo, vicious.widgets.net, red .. "${enp9s0 up_kb}" .. coldef, 1)
ethdowninfo = wibox.widget.textbox()
vicious.register(ethdowninfo, vicious.widgets.net, "<span color=\"#d3c6d7\">${enp9s0 down_kb}</span>", 1)
ethupinfo = wibox.widget.textbox()
vicious.register(ethupinfo, vicious.widgets.net, "<span color=\"#d3c6d7\">${enp9s0 up_kb}</span>", 1)
-- {{{ Volume
-- Volume widget
volicon = wibox.widget.imagebox()
volicon:set_image(beautiful.widget_vol)
volumewidget = wibox.widget.textbox()
vicious.register(volumewidget, vicious.widgets.volume, bottomgrey .. " Volume: $1%" .. coldef, 1, "Master")
-- Pacman Widget --
-- Pacman Icon
pacicon = wibox.widget.imagebox()
pacicon:set_image(beautiful.widget_pac)
-- Pacman Widget
pacwidget = wibox.widget.textbox()
pacwidget_t = awful.tooltip({ objects = {pacwidget},})
vicious.register(pacwidget, vicious.widgets.pkg,
function(widget,args)
local io = { popen = io.popen }
local s = io.popen("pacman -Qu")
local str = ''
for line in s:lines() do
str = str .. line .. "\n"
end
pacwidget_t:set_text(str)
s:close()
return "" .. bottomgrey .. " Updates: " .. args[1] .. coldef
end, 60, "Arch")
--'1800' means check every 30 minutes
pacicon:buttons(awful.util.table.join(
awful.button({ }, 3, function () awful.util.spawn("".. terminal.. " --hold -e sudo pacman -Syu", false) end),
awful.button({ }, 1, function () awful.util.spawn("sudo pacman -Syu", false) end)
-- {{{ Clock
-- Textclock widget
clockicon = wibox.widget.imagebox()
clockicon:set_image(beautiful.widget_clock)
mytextclock = awful.widget.textclock(bottomgrey .. " %A %d %B</span> " .. colwhi .. "</span><span color=\"#ffffff\">></span> <span color='#999999'>%H:%M</span>")
-- {{{ Spacers
space = wibox.widget.textbox()
space:set_text(' ')
-- {{{ Seperator
openb = wibox.widget.textbox(lightblue6 .. " [" .. coldef)
closeb = wibox.widget.textbox(lightblue6 .. " ]" .. coldef)
-- Create a wibox for each screen and add it
mywibox = {}
mybottomwibox = {}
bottombox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
-- Without this, the following
-- :isvisible() makes no sense
c.minimized = false
if not c:isvisible() then
awful.tag.viewonly(c:tags()[1])
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
end
end),
awful.button({ }, 3, function ()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({ width=250 })
end
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end))
for s = 1, screen.count() do
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt()
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(mylauncher)
left_layout:add(mypromptbox[s])
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
right_layout:add(space)
right_layout:add(space)
-- right_layout:add(mylayoutbox[s])
-- Now bring it all together (with the tasklist in the middle)
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
-- layout:set_middle(mytasklist[s])
layout:set_middle(mytaglist[s])
layout:set_right(right_layout)
mywibox[s]:set_widget(layout)
-- Create Bottom WiBox
mybottomwibox[s] = awful.wibox({ position = "bottom", screen = s })
-- Widgets Aligned to the Middle
local bottom_left_layout = wibox.layout.fixed.horizontal()
bottom_left_layout:add(sysicon)
bottom_left_layout:add(syswidget)
bottom_left_layout:add(space)
bottom_left_layout:add(volicon)
bottom_left_layout:add(volumewidget)
bottom_left_layout:add(space)
bottom_left_layout:add(cpuicon)
bottom_left_layout:add(cpuwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(memicon)
bottom_left_layout:add(memwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(tempicon)
bottom_left_layout:add(tempwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(pacicon)
bottom_left_layout:add(pacwidget)
bottom_left_layout:add(space)
bottom_left_layout:add(uptimeicon)
bottom_left_layout:add(uptimewidget)
bottom_left_layout:add(space)
bottom_left_layout:add(clockicon)
bottom_left_layout:add(mytextclock)
local bottom_right_layout = wibox.layout.fixed.horizontal()
if s == 1 then bottom_right_layout:add(wibox.widget.systray()) end
-- Bring Bottom Wibox Together
local bottom_layout = wibox.layout.align.horizontal()
bottom_layout:set_middle(bottom_left_layout)
bottom_layout:set_right(bottom_right_layout)
mybottomwibox[s]:set_widget(bottom_layout)
end
-- Mouse Bindings
root.buttons(awful.util.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
-- Key bindings
globalkeys = awful.util.table.join(
-- Capture a screenshot
awful.key({ altkey }, "p", function() awful.util.spawn("screenshot",false) end),
-- Move clients
awful.key({ altkey }, "Next", function () awful.client.moveresize( 1, 1, -2, -2) end),
awful.key({ altkey }, "Prior", function () awful.client.moveresize(-1, -1, 2, 2) end),
awful.key({ altkey }, "Down", function () awful.client.moveresize( 0, 1, 0, 0) end),
awful.key({ altkey }, "Up", function () awful.client.moveresize( 0, -1, 0, 0) end),
awful.key({ altkey }, "Left", function () awful.client.moveresize(-1, 0, 0, 0) end),
awful.key({ altkey }, "Right", function () awful.client.moveresize( 1, 0, 0, 0) end),
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end),
-- Show/Hide Wibox
awful.key({ modkey }, "b", function ()
mywibox[mouse.screen].visible = not mywibox[mouse.screen].visible
end),
-- Application Switcher
awful.key({ "Mod1" }, "Tab", function ()
-- If you want to always position the menu on the same place set coordinates
awful.menu.menu_keys.down = { "Down", "Alt_L" }
local cmenu = awful.menu.clients({width=245}, { keygrabber=true, coords={x=525, y=330} })
end),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
awful.key({ modkey, "Control" }, "n", awful.client.restore),
-- Dropdown terminal
awful.key({ modkey, }, "z", function () scratch.drop(terminal) end),
-- Widgets popups
-- Volume control
awful.key({ "Control" }, "Up", function ()
awful.util.spawn("amixer set Master playback 1%+", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "Down", function ()
awful.util.spawn("amixer set Master playback 1%-", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback mute", false )
vicious.force({ volumewidget })
end),
awful.key({ "Control" }, "u", function ()
awful.util.spawn("amixer set Master playback unmute", false )
vicious.force({ volumewidget })
end),
awful.key({ altkey, "Control" }, "m", function ()
awful.util.spawn("amixer set Master playback 100%", false )
vicious.force({ volumewidget })
end),
-- Music control
awful.key({ altkey, "Control" }, "Up", function ()
awful.util.spawn( "mpc toggle", false )
vicious.force({ mpdwidget } )
end),
awful.key({ altkey, "Control" }, "Down", function ()
awful.util.spawn( "mpc stop", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Left", function ()
awful.util.spawn( "mpc prev", false )
vicious.force({ mpdwidget } )
end ),
awful.key({ altkey, "Control" }, "Right", function ()
awful.util.spawn( "mpc next", false )
vicious.force({ mpdwidget } )
end ),
-- Copy to clipboard
awful.key({ modkey, }, "c", function () os.execute("xsel -p -o | xsel -i -b") end),
-- User programs
awful.key({ modkey, }, "q", function () awful.util.spawn( "dwb", false ) end),
awful.key({ modkey, "Control" }, "m", function () awful.util.spawn( terminal .. " -g 130x30 -e mutt", false ) end),
awful.key({ modkey, }, "s", function () awful.util.spawn(gui_editor) end),
awful.key({ modkey, "Control" }, "f", function () awful.util.spawn( terminal .. " -depth 16 -g 130x30 -e ranger", false ) end),
awful.key({ modkey, "Control" }, "v", function () awful.util.spawn( "/usr/local/bin/video", false) end),
-- awful.key({ modkey, }, "d", function () awful.util.spawn( "spacefm", false ) end),
-- Conky
-- Prompt
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
awful.key({ modkey }, "x",
function ()
awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget,
awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval")
end)
clientkeys = awful.util.table.join(
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
awful.key({ modkey, }, "o", awful.client.movetoscreen ),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end),
awful.key({ modkey, }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical
end)
-- Compute the maximum number of digit we need, limited to 9
keynumber = 0
for s = 1, screen.count() do
keynumber = math.min(9, math.max(#tags[s], keynumber));
end
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do
globalkeys = awful.util.table.join(globalkeys,
awful.key({ modkey }, "#" .. i + 9,
function ()
screen = mouse.screen
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
end
end),
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
screen = mouse.screen
if tags[screen][i] then
awful.tag.viewtoggle(tags[screen][i])
end
end),
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i])
end
end),
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.toggletag(tags[client.focus.screen][i])
end
end))
end
clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
-- Set keys
root.keys(globalkeys)
-- Rules
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = true,
keys = clientkeys,
buttons = clientbuttons,
size_hints_honor = false
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { name = "PlayOnLinux" },
properties = { tag = tags[1][1] } },
{ rule = { instance = "urxvt", class = "URxvt" },
properties = { tag = tags[1][2] } },
{ rule = { class = "Sublime_text" },
properties = { tag = tags[1][4] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "sabcurses.py"},
properties = { tag = tags[1][5] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "ranger"},
properties = { tag = tags[1][2] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "weechat"},
properties = { tag = tags[1][3] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "mutt" },
properties = { tag = tags[1][3] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "htop" },
properties = { tag = tags[1][2] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "cdw" },
properties = { tag = tags[1][2] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "transmission-remote-cli"},
properties = { tag = tags[1][5] } },
{ rule = { instance = "urxvt", class = "URxvt", name = "vlc"},
properties = { tag = tags[1][4] } },
{ rule = { class = "Conky" },
properties = {
floating = true,
sticky = true,
ontop = false,
border_width = 0,
focusable = false,
size_hints = {"program_position", "program_size"}
{ rule = { class = "Ghb" },
properties = { tag = tags[1][1] } },
{ rule = { class = "Devede" },
properties = { tag = tags[1][1] } },
{ rule = { name = "LibreOffice"},
properties = { tag = tags[1][4] } },
{ rule = { class = "Gimp" },
properties = { tag = tags[1][1],
floating = true } },
-- Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c, startup)
-- Enable sloppy focus
c:connect_signal("mouse::enter", function(c)
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
and awful.client.focus.filter(c) then
client.focus = c
end
end)
if not startup then
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- awful.client.setslave(c)
-- Put windows in a smart way, only if they does not set an initial position.
if not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_overlap(c)
awful.placement.no_offscreen(c)
end
end
local titlebars_enabled = false
if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(awful.titlebar.widget.iconwidget(c))
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
right_layout:add(awful.titlebar.widget.floatingbutton(c))
right_layout:add(awful.titlebar.widget.maximizedbutton(c))
right_layout:add(awful.titlebar.widget.stickybutton(c))
right_layout:add(awful.titlebar.widget.ontopbutton(c))
right_layout:add(awful.titlebar.widget.closebutton(c))
right_layout:add(awful.titlebar.widget.closebutton(c))
-- The title goes in the middle
local title = awful.titlebar.widget.titlewidget(c)
title:buttons(awful.util.table.join(
awful.button({ }, 1, function()
client.focus = c
c:raise()
awful.mouse.client.move(c)
end),
awful.button({ }, 3, function()
client.focus = c
c:raise()
awful.mouse.client.resize(c)
end)
-- Now bring it all together
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
layout:set_right(right_layout)
layout:set_middle(title)
awful.titlebar(c):set_widget(layout)
end
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)@Prezioso: sorry about that i will upload some screenshots about error
Sloved. Thank you very much. urxvt not install, i change terminal to gnome-terminal.
I have one question about themes for copycat-killer. This is github https://github.com/copycat-killer/awesome-copycats.
I can't use his themes althought installed fonts are Terminus (Multicolor, Powerarrow Darker) and Tamsyn (other ones).
Then I copy them to ~/.fonts and use command " fc-cache -fv ". after that restart awesome but error font. What wrong i do. ?
this is my calendar.lua file
Licensed under GNU General Public License v2
* (c) 2013, Luke Bonham
local icons_dir = require("lain.helpers").icons_dir
local awful = require("awful")
local beautiful = require("beautiful")
local naughty = require("naughty")
local io = { popen = io.popen }
local os = { date = os.date }
local tonumber = tonumber
local setmetatable = setmetatable
-- Calendar notification
-- lain.widgets.calendar
local calendar = {}
local cal_notification = nil
function calendar:hide()
if cal_notification ~= nil then
naughty.destroy(cal_notification)
cal_notification = nil
end
end
function calendar:show(t_out, inc_offset, scr)
calendar:hide()
local offs = inc_offset or 0
local tims = t_out or 0
local f, c_text
local today = tonumber(os.date('%d'))
local init_t = calendar.cal .. ' | sed -r -e "s/(^| )( '
calendar.offset = calendar.offset + offs
if offs == 0 or calendar.offset == 0
then -- current month showing, today highlighted
if today >= 10
then
init_t = calendar.cal .. ' | sed -r -e "s/_\\x08//g" | sed -r -e "s/(^| )('
end
calendar.offset = 0
calendar.notify_icon = calendar.icons .. today .. ".png"
-- bg and fg inverted to highlight today
f = io.popen( init_t .. today ..
')($| )/\\1<b><span foreground=\\"'
.. calendar.bg ..
'\\" background=\\"'
.. calendar.fg ..
'\\">\\2<\\/span><\\/b>\\3/"' )
else -- no current month showing, no day to highlight
local month = tonumber(os.date('%m'))
local year = tonumber(os.date('%Y'))
month = month + calendar.offset
if month > 12 then
month = month % 12
year = year + 1
if month <= 0 then
month = 12
end
elseif month < 1 then
month = month + 12
year = year - 1
if month <= 0 then
month = 1
end
end
calendar.notify_icon = nil
f = io.popen(calendar.cal .. ' ' .. month .. ' ' .. year)
end
c_text = "<tt><span font='" .. calendar.font .. " "
.. calendar.font_size .. "'><b>"
.. f:read() .. "</b>\n\n"
.. f:read() .. "\n"
.. f:read("*a"):gsub("\n*$", "")
.. "</span></tt>"
f:close()
cal_notification = naughty.notify({
text = c_text,
icon = calendar.notify_icon,
position = calendar.position,
fg = calendar.fg,
bg = calendar.bg,
timeout = tims,
screen = scr or 1
end
function calendar:attach(widget, args)
local args = args or {}
calendar.cal = args.cal or "/usr/bin/cal"
calendar.icons = args.icons or icons_dir .. "cal/white/"
calendar.font = args.font or beautiful.font:sub(beautiful.font:find(""),
beautiful.font:find(" "))
calendar.font_size = tonumber(args.font_size) or 11
calendar.fg = args.fg or beautiful.fg_normal or "#FFFFFF"
calendar.bg = args.bg or beautiful.bg_normal or "#FFFFFF"
calendar.position = args.position or "top_right"
calendar.scr_pos = args.scr_pos or 1
calendar.offset = 0
calendar.notify_icon = nil
widget:connect_signal("mouse::enter", function () calendar:show(0, 0, scr_pos) end)
widget:connect_signal("mouse::leave", function () calendar:hide() end)
widget:buttons(awful.util.table.join( awful.button({ }, 1, function ()
calendar:show(0, -1, scr_pos) end),
awful.button({ }, 3, function ()
calendar:show(0, 1, scr_pos) end),
awful.button({ }, 4, function ()
calendar:show(0, -1, scr_pos) end),
awful.button({ }, 5, function ()
calendar:show(0, 1, scr_pos) end)))
end
return setmetatable(calendar, { __call = function(_, ...) return create(...) end })
Thank everyone.
Last edited by zyzzvn (2015-02-04 14:55:21) -
"ORA-29532: Java call terminated by uncaught Java exception
Dear Oracle:
I am trying to establish an HTTPS connection from a Java stored
procedure that is wrapped in a PL/SQL procedure and loaded into a
Package. We are running on Oracle 8.1.7.
My Java code compiles and runs fine when run stand-alone outside
Oracle; I can establish the connection to a secure server and talk to
the server. However when I load this Java class (using the loadjava
utility) this class can no longer run and I get a the following
exception:
"ORA-29532: Java call terminated by uncaught Java exception:
javax.net.ssl.SSLException: SSL handshake failed:
X509CertChainIncompleteErr"
I have tried loading the JSSE from Sun and I still get the same error.
Searching in the Discussing Forums I found the following link (which
describes a procedure that logs into the UPS secure server site and
grabs some XML) http://osi.oracle.com/~mbpierma/SSL_Java_DB.html .
This code works ok if we try to connect to UPS server. However this
code doesn't work if we try to log in to a different server (such as
???). If I modify this code slightly and try to log to any other
sever server I get the same error as the one above. Investigation
lead us to understand that the certificate at the UPS web site is a
self-signed certificate -- not one generated by a major 'recognized'
authority such as Verisign or Thawte.
Further research pointed me to the following URL
http://www.znow.com/sales/oracle/network.816/a76932/appf_ora.htm#619367
This URL has the documentation for JAVA SSL for 8.1.6 which I figure
I could read and try to make it work in 8.1.7.
I looked at your Secure Hello World example, however the code is
missing the most critical parts of the whole example, it does not
specify where the certificate or any of the security settings come
from (see the attached JavaCertExample.txt file).
So, my questions are the following:
1) What should I do to avoid the error mentioned above?
2) Do you have a sample piece of code that describes how to make a
HTTPS connection using a Java stored procedure?
3) Can I make the HTTPS connection using a URL class and not using
sockets directly?
4) Do I need to load the JSEE provided by Sun?
5) Will the solution be different for Oracle 9i?
// SecureHelloClient.java
import java.net.*;
import java.io.*;
import java.util.*;
import javax.net.ssl.*;
import javax.security.cert.X509Certificate;
import oracle.security.ssl.OracleSSLCredential;
import oracle.security.ssl.OracleSSLSocketFactory;
import oracle.security.ssl.OracleSSLProtocolVersion;
import oracle.security.ssl.OracleSSLSession;
public class SecureHelloClient
public static void main(String argv[])
String hostName = "localhost";
if(argv.length != 0)
String hostName = argv[0];
// Set the SSLSocketFactoryImpl class as follows:
java.util.Properties prop = System.getProperties();
prop.put("SSLSocketFactoryImplClass",
"oracle.security.ssl.OracleSSLSocketFactoryImpl");
try
// Get the default socket factory
OracleSSLSocketFactory sSocFactory
= (OracleSSLSocketFactory)SSLSocketFactory.getDefault();
sSocFactory.setSSLProtocolVersion(OracleSSLProtocolVersion.SSL_Version_3_0);
OracleSSLCredential sslCredObj = new OracleSSLCredential();
// Where did these values come from? caCert, userCert, trustedCert,
// Set the certificate chain and private key if the
// server requires client authentication
sslCredObj.addCertChain(caCert)
sslCredObj.addCertchain(userCert)
sslCredObj.setPrivateKey(userPvtKey, userPassword)
// Populate credential object
sslCredObj.addTrustedCert(trustedCert);
sSocFactory.setSSLCredentials(sslCredObj);
// Create the socket using factory
SSLSocket jsslSoc =
(SSLSocket)sSocFactory.createSocket(hostName, 8443);
String [] ciphers = jsslSoc.getSupportedCipherSuites() ;
// Select the ciphers you want and put them.
// Here we will put all availabel ciphers
jsslSoc.setEnabledCipherSuites(ciphers);
// We are creating socket in client mode
jsslSoc.setUseClientMode(true);
// Do SSL handshake
jsslSoc.startHandshake();
// Print negotiated cipher
System.out.println("Negotiated Cipher Suite: "
+jsslSoc.getSession().getCipherSuite());
System.out.println("");
X509Certificate[] peerCerts
= ((javax.net.ssl.SSLSocket)jsslSoc).getSession().getPeerCertificateChain();
if (peerCerts != null)
System.out.println("Printing server information:");
for(int i =0; i ? peerCerts.length; i++)
System.out.println("Peer Certificate ["+i+"] Information:");
System.out.println("- Subject: " + peerCerts.getSubjectDN().getName());
System.out.println("- Issuer: " + peerCerts[i].getIssuerDN().getName());
System.out.println("- Version: " + peerCerts[i].getVersion());
System.out.println("- Start Time: " + peerCerts[i].getNotBefore().toString());
System.out.println("- End Time: " + peerCerts[i].getNotAfter().toString());
System.out.println("- Signature Algorithm: " + peerCerts[i].getSigAlgName());
System.out.println("- Serial Number: " + peerCerts[i].getSerialNumber());
else
System.out.println("Failed to get peer certificates");
// Now do data exchange with client
OutputStream out = jsslSoc.getOutputStream();
InputStream in = jsslSoc.getInputStream();
String inputLine, outputLine;
byte [] msg = new byte[1024];
outputLine = "HELLO";
out.write(outputLine.getBytes());
int readLen = in.read(msg, 0, msg.length);
if(readLen > 0)
inputLine = new String(msg, 0, readLen);
System.out.println("");
System.out.println("Server Message:");
System.out.println(inputLine );
else
System.out.println("Can't read data from client");
// Close all sockets and streams
out.close();
in.close();
jsslSoc.close();
catch(SSLException e)
System.out.println("SSL exception caught:");
e.printStackTrace();
catch(IOException e)
System.out.println("IO exception caught:");
e.printStackTrace();
catch(Exception e)
System.out.println("Exception caught:");
e.printStackTrace();Hi,
I have the same problem.
Is some ORACLE guru that can help us ?
We need to communicate with some servlet
via POST method of https (SSL3)
and with using private certificate on the client site.
We need furthermore allow using of some proxy.
Client site is realized as set of stored procedures within ORACLE 8.1.7
In this time I am able to communicate with server without SSL and certificate
using package utl_tcp
(but with this solution without certificate is our customer not satisfied -:))
ORACLE help us please !
Pavel Pospisil
[email protected] -
Making a VoIP call with the Cisco 837 ADSL router
I would greatly appreciate if could please provide some technical assistance to my questions below:
Is it possible to make a VoIP call between two 837 ADSL Cisco routers over a 1Mbps ADSL broadband connection?
If so, can I configure this VoIP connection using either a PPPoE or ATM WAN link?
Is it possible to make a VoIP call using a Cisco 837 Router while simultaneously surfing the Internet? In other words do I need two public IP addresses i.e. one for accessing the internet and one for making the VoIP call or is one static IP address obtained from my ISP sufficent.
It is possible to configure QoS parameters (e.g. RSVP, Voice precedence, Voice codec selection) on this 837 router using PPoE or can it only be done using an ATM WAN interface?
Does the Cisco 837 router support both the H.323 and SIP communication protocols? Do I need to purchase a certain IOS operating system version for VoIP calling?
Does the VoIP dial peers need to be configured with both a POTS and VoIP phone numbers or is only one number required?
Do I need to obtain a special VoIP number from my VoIP service provider? or can I use existing POTS numbers or made up numbers within the dial peers as this situation involves making a private VoIP call between two branch offices using 837 ADSL routers and not via a VoIP service provider.
Finally, can I use POTS ordinary telephones with the Cisco 837 for making VoIP calls or do I strictly need to purchase VoIP phones?
My apologies for the number of questions asked here but I currently need to know the technical ability of the Cisco ADSL 837 as I am thinking of employing these routers in my company organisation.
I await your feedback in due course.
Thanks,
Martin HealyHi,
I give you a sample config of my router.
class-map voice
match access-group 101
policy-map mypolicy
class voice
priority 128
class class-default
fair-queue 16
ip subnet-zero
gateway
interface Ethernet0
ip address 20.20.20.20 255.255.255.0
no ip directed-broadcast (default)
ip route-cache policy
ip policy route-map data
interface ATM0
ip address 10.10.10.20 255.255.255.0
no ip directed-broadcast (default)
no atm ilmi-keepalive (default)
pvc 1/40
service-policy output mypolicy
protocol ip 10.10.10.36 broadcast
vbr-nrt 640 600 4
! 640 is the maximum upstream rate of ADSL
encapsulation aal5snap
bundle-enable
h323-gateway voip interface
h323-gateway voip id gk-twister ipaddr 172.17.1.1 1719
h323-gateway voip h323-id gw-820
h323-gateway voip tech-prefix 1#
router eigrp 100
network 10.0.0.0
network 20.0.0.0
ip classless (default)
no ip http server
access-list 101 permit ip any any precedence critical
route-map data permit 10
set ip precedence routine
line con 0
exec-timeout 0 0
transport input none
stopbits 1
line vty 0 4
login
voice-port 1
local-alerting
timeouts call-disconnect 0
voice-port 2
local-alerting
timeouts call-disconnect 0
voice-port 3
local-alerting
timeouts call-disconnect 0
voice-port 4
local-alerting
timeouts call-disconnect 0
dial-peer voice 10 voip
destination-pattern ........
ip precedence 5
session target ras
dial-peer voice 1 pots
destination-pattern 5258111
port 1
dial-peer voice 2 pots
destination-pattern 5258222
port 2
dial-peer voice 3 pots
destination-pattern 5258333
port 3
dial-peer voice 4 pots
destination-pattern 5258444
port 4
end -
Spa3102 would not forward a voip call to pstn line
Good morning.
I've done the implementation provided here http://community.linksys.com/t5/VoIP-Adapters/SPA-3102-and-softphone-to-
make-calls-via-pstn-line/td-p/326390 .
It is a way to use for outgoing calls a given pstn line from anywhere I have internet (voip to pstn).
The spa3102 is connected to a router (with an active DHCP server and ip 192.168.1.1) from where it takes the internal
ip (192.168.1.3).On the same network is also a computer , connected to the router ( with ip 192.168.1.2). The spa3102
is set to bridge mode and thus inactivates the function of the router (on SPA3102), and it functions as a simple
network device . I have done port forwarding (from the router) to 192.168.1.3 (SPA3102) for the port 5061 (PSTN
LINE) ( but for 5060 for the LINE 1 also). I want to make calls from a voip softphone (x-lite 4) to the SPA 3102 and
this to forward the voip calls to PSTN line to which it is connected. In x-lite the SPA3102 is set as a proxy so that
i can type the phone number I want to call without being followed by the SPA3102's ip each time ( eg on x-lite I
give call number 2101111111 instead of 2101111111 @ wanip: 5061 where wanip is the external ip of the router).
When x-lite is running on the computer that is on the same network with the SPA3102 everything works as expected. A
voip call is made from x-lite ( using as a proxy the wanip everytime, or even for test purposes the dyndns domain
that i set up for this reason), this call is passese PSTN line and the phone of the called party rings . At x-lite
COMES indication "call established ".
The problem occurs when I do the same procedure from x-lite installed on a computer belonging to another network (
e.g. in another building with its own internet connection , own router, own computer , etc. ) . Always using the
wanip the x-lite makes the voip call to the SPA3102, writes "call established" ( meaning it connected to SPA3102) but
never routed the call to the called party ( the SPA3102 did not forward voip calls it receives to the PSTN line ) .
Trying to find what 's wrong I've tried to disable all firewalls (soft and hard from all involved machines ) . The
behavior is the same either the computer that makes the successful calls is connected to the network directly to the
router or through the port "ethernet" on the SPA3102.
What is the difference in these two voip calls to the SPA3102 and the one " triggers " it to forward the call to
PSTN line and the other does not ?
Thanks now for any ideas you give .The audio sound problem is more than likely also associated with the overall addressing problem initially encountered. As you may know, using the sip protocol the sip signalling exchanges ip addresses to be used for both the sip signalling and the exchange of rtp sound packets. In addition there is an exchange of port numbers to be used for the exchange of rtp sound packets. The sound is exchanged by two separate streams of packets, one stream in each direction. The result is an ip address and port number for the rtp packets flowing from the SPA3102 to the softphone and a different ip address and port number for the rtp packets flowing from the softphone to the SPA3102.
In your previous posting you mentioned that you "set the minimum EXTernal rtp port at the sip tab". Changing the "EXT RTP Port Min:" is an unusual change to make and in my opinion would only be made in special circumstances. Actually, I ran some tests and I'm not sure exactly what that setting does. In my tests it didn't appear to affect the rtp port number used in a predictable manner.
The common changes to make for audio problems typically would be to setup a STUN server. A STUN server is an external server that echos back to the initial sender the external ip address and port number that the STUN server received with the message received by the server. This allows the sender (SPA3102 or softphone) to determine its external ip address and external port numbers for both the sip signalling and rtp packets.
A STUN server is commonly recommended to be setup with the following settings in the SPA3102:
PSTN Line Tab:
NAT Mapping Enable: Yes
Sip Tab:
Handle VIA received: yes
Handle VIA rport: yes
Insert VIA received: yes
Insert VIA rport: yes
Substitute VIA Addr: yes
Send Resp To Src Port: yes
STUN Enable: yes
STUN Server:
The following web page has a list of "Public STUN Servers"
http://www.voip-info.org/wiki/view/STUN
You are using CounterPath's XLite softphone. stun.counterpath.net is a STUN server on the list.
I see XLite also has a setting to use a STUN server on the "Topology" tab. -
VOIP call Failed (Error Code 15) in Prime Event log.
I'm seeing the following events in Prime Infrastructure related to Cisco 7925 phones.
VOIP Call Failed for "(Error Code 15) occurred on client "xx:xx:xx:xx:xx:xx' which was associated to AP <APName> on interface 802.11b/g.
I can't seem to find where this error code 15 is defined. The closest I was able to find was error code 15 under gatekeeper codes in the following document which may or may not be relavent.
http://www.cisco.com/en/US/docs/ios/voice/monitor/configuration/guide/vt_voip_err_cds_ps6350_TSD_Products_Configuration_Guide_Chapter.html
Any insight into this would be appreciated.
Jake
P.S. No voip call jokes on 802.11b/g pleaseIt had 18Mbps set as the min phy rate. I also think it has to do with CAC issues at 18Mbps that are pretty well noted and differeing mandatory rates across the 802.11b/g/n and 802.11a/n networks on the controller. When the phone would roam onto a radio with 18Mbps was the min mandatory rate, it would drop and give this error.
-
How to make voip calls on ipad1
Hi, can anyone tell me how to go about making cheap voip calls on the ipad 1 as it only has an ear plug point and not a microphone one? being a pensioner I`m trying to save money!! thanks in anticipation.
Although I don't own all of the iDevices, I do know from experience that my iPod Touch (2nd gen up) and the iPads + iPhones can indeed make VOIP calls from various services. The harder part is finding a way to listen and talk conveniently and understanding your VoIP service capabilities.
1.
The VoIP software - presumably something you already use today on a computer and have an account/telephone number for.
Skype
Google Talk
magicJack
etc.
The choices depend a lot on who you primarily talk with and what they use (conventional telephone, Skype, etc)
I prefer a full fledged SIP (VOIP) clients like iSIP or my personal favourite the Bria VoIP phone software with a VOIP telephone number from a standalone VoIP provider like voip.ms but that may be too complicated a setup for some. It does provide the best telephone experience however. I'm not sure which players are strong in the UK.
Some of these only work when you have a a WiFi connection but I regularly use the Bria phone on my iPad while driving (3G and LTE both work fine).
2.
The audio connection - the easiest is a combined headset/microphone like the simple Apple earpiece or other third party ones that have both ear and microphone in a single plug (you can tell which is which because there are 3 rings/4 gold contacts on the plug). Ask around - many iPhone users have these included in the box and never use them, preferring more expensive after market models).
Another more sophisticated way is to use a bluetooth headset of any kind. These can be very comfortable and work well, but are not as easy as simply plugging in a headpiece. Batteries need charging and the bluetooth connection can be finicky sometimes.
A third option around the home is to use one of the newer telephone sets that has bluetooth connectivity to the ipad/iphone - this is elegant but also more complicated than you would probably enjoy unless you're handy with the technology.
I'd recommend you have someone familiar with the Apple world who's a bit techie, can help you think through your requirements around calling patterns and volumes and clearly understands that you likely prefer ease of use over saving a few pence. -
ASA 5510 - how many concurrent VOIP calls can pass through?
Hi all,
I wonder how many concurrent VOIP calls can handle Cisco ASA 5510, any idea?
Geghamhi Gegham,
Basically what the values of 50,000 and 130000 connections indicate are lab values tested with 80% TCP and 20% udp traffic. (according to table a-2 in the doc below)
http://www.cisco.com/en/US/docs/security/asa/asa72/configuration/guide/specs.html#wp1170941
RTP is udp traffic but in case of an asa and considering a customer scenario what happens is...
1 voip call = 1 control connection (h323,sip,sccp) + 2 or 4 rtp connections
-so a call will in total easily consume 5 or more connections depending on control connections you have set up .
-also this number differs depending on if the call is voice only or video.
So to simply answer your questions...
1>the number of connections that a call consumes depends on the above factors.
2>Also there is no hard number on the number of calls an asa can handle because this depends on the controls you use ...including nat and inspections.
Thanks,
Karthik -
Call time limiting for VOIP calls
Hi,
i want to limit voip calls to a specific period of time. Is there a way to handle this issue (with or without gatekeepers)? I'm using IOS gatekeepers and gateways with FXS,FXO and BRI.had same issues with disconnection with FXO for all my sites.
had a post with the resolution. mine was also loop start. asked service provider to put lines into a trunk (minimal cost). the reason for this is that we can enable disconnect to be handled from service proivder instead of the FXO itself. that fixed issue (BTW issue was that even though call ended, fxo disconnected after may two hours, and some didnt at all).
i also had a few routers that still gave a long diconnect time although i cocnverted, i had to enable the supervisory disconnection options as well as TIMING SUP-DISCONNECT parameter (Please note not available in all IOS versions). i set my disonnect to be 300 matching up to my provider. Now, all my sites are working great.
as for ground start, ive tried it once and that really did work great(for a time.) i did have issues later on where i couldnt make any calls outside etc etc. reverted to my initial loop-start workaround and that worked fine.
i am giving suggestions to try since i was in a serious dilema for a few months, trying to fix this. for me i know its frustrating so i hope it may help. -
E61i is keeping WLAN connection after VoIP call
I've just upgraded from E61 to E61i, upgraded phone firmware to 2.06 and... I'm very disappointed about some "improvement" in the Internet telephone. My SIP profile is the same as it was in E61, registration mode "When needed". The phone would register to SIP service and make calls okay. However, if a call wasn't answered and I terminate it with the "End" key, I can't drop WLAN connection. I would go to Internet telephone and disconnect from the service, SIP telephone icon would disapper but WLAN icon would be still showing. There is no way to get rid of WLAN connection, even if I'd drop it manually in connection manager it would re-appear in a second or so. The only way to disconnect is by switching phone off/on.
What's amazing, if a call was answered, everything would be working as it should: once I disconnect from the service in the Internet telephone, both SIP and WLAN icons would disappear.
Any ideas?I think it's a bug, too! I don't know how to repeat the upgrade process (the Nokia Upgrade says my firmware is up-to-date) but anyway, the upgrade process terminated normally... I don't think the problem is there.
Note that the problem only occurs when I terminate VoIP call with the "End" key. If the call was answered and terminated by remote hangup, everything's fine.
I never had such a problem with E61. In fact, I never had to use the "Internet telephone" application on E61. When I wanted to disconnect from SIP proxy, I just went to Connection Manager and terminated WLAN connection there. -
New FIOS customer with dropped VOIP calls and Internet connection
I am a new FIOS customer. Got my 50/25 connection a week ago, switching from a TWC 6/1 connection. Ever since the new connection, I've had numerous issues.
My VOIP (Ooma) connection constantly drops and re-connects during conversations
I've had random Internet connection losses, which picks up again after a few minutes
My home alarm starts chirping every once in a while
I've contacted Verizon several times due to these problems and have received varying answers with no resolution of the problem.
The first time I spoke with support, the tech logged into my router and changed the WiFi channel saying that would fix the problem. It didn’t.
The second time I contacted them, the tech ran a bunch of diagnostics and said everything looked fine so it must be an IP address conflict with my devices, because I had a couple devices using static IP addresses. He said everythinf should be DHCP and the last two digits could not be higher than 99 (192.168.1.99). He said FIOS does not support 3-digit numbers at the end.
So I changed all my devices to DHCP and ran some online VOIP tests. It showed a packet loss of 2-5% and MOS score of 1 (which is bad). I was still getting dropped connections, so I disconnected all devices and connected just one computer to the router and tested again. I was still getting packet loss.
Then I called support a third time, this time the tech said there were no 2-digit IP restrictions and that he was detecting there was no UPS baterry backup for the ONT which was probably causing the problem, so he dispatched a field tech to my house.
Today the field tech came (same guy as before), he took one look at the box and said it was too close to my Electric meter and the RF from the meter was causing interference to the FIOS connection and resulting in dropped connection.
He moved the ONT to another location and said that should fix it.
Well, I'm still seeing packet loss and low MOS score when I run the VOIP test.
I don't know how much of what the techs are saying is true and how much is made up stuff.
Has anyone had similar issues and have thoughts on solutions or likely causes for dropped VOIP calls and connections? Could RF be causing this?
I thought going from a 6/1 Cable connection to a 50/25 FIOS connection would be awesome, but this has turned out to be a nightmare, and I may have to switch back to cable if the problem is not resolved.
I would appreciate any help.
Thanks!Don't know where the packet loss is happening. I ran the VOIP test on myspeed.visualware.com and it shows a packet loss of 2-5% at different times and a MOS score of 1.
The report says MOS should be around 4 for good VOIP calls.
The Verizon tech who came to the house just blamed the electric meter box for RF interference and move the ONT farther away.
My concern is that I'm getting different answers from different techs at Verizon.
Regarding IP addresses. The Router shows a DHCP range from 192.162.1.2 to 192.168.1.254 as available for devices on the network. So, if I need to assign a static IP to a device should I use a number below 99 or above 151?
Thanks! -
Transfer VOIP Calls Between Cisco Desk Phone and Cisco Jabber For IPhone 9.5
Does anyone know how to transfer an active voip call from a Cisco IP Desk Phone to Cisco Jabber for IPhone? I can transfer a call from Cisco Jabber for IPhone to my Cisco IP Desk Phone no problem. I put the call on hold and then click "Resume" on my Cisco IP Desk Phone. However I cannot do the same but the other way around. If I put the call on hold on my Cisco IP Desk Phone, I see "no active call" on my Jabber client. The only information I could find slighlty relevant was using the Mobility Key/Remote Destination Profile feature however this defeats the object as this will forward to an external number, e.g. mobile and I just want to transfer the call within the VOIP environment between the two devices that are using the same directory number.
I am using Cisco Call Manager 9.1(2), Cisco Presence 9.1 and Cisco Jabber for IPhone 9.5.
Any help would be greatly appreciated.
Kind Regards,
Paul Parker.Did you ever find an answer to this ?
I am seeing the same behavior and trying so see if I can put calls on hold and pick them up both ways also.
The only answer I seem to have found is to use park instead
That would/should work but I would just prefer to hold/unhold
Just not sure why we would not be able to hold/unhold on what is essentially a "shared" line
Does anyone have this working for them ? -
Just set up advanced calling 1.0 and restarted my phone but "Video Calling" is not in my groups under contacts
iphone 6/6P do not support AC 1.0 HD video calling at this time. It does support HD voice, but there is no HD indicator, but you can immediately hear the difference.
Maybe you are looking for
-
How to bypass or repair lid switch in nw8440?
Some forum postings explain that lid switch failures are a common reason for my symptoms. An external monitor displays fine. The LCD panel is completely black, without a dim reflected display when using a flashlight. The screen did not gradually t
-
Pages .pdf crashes other Macs!
Hi Folks, I created some newsletters and sent them out as .pdf. This sent .pdf has crashed 5 Mac's! Oddly enough, a cc: copy of the file to myself does nothing. I have sent similar materials to Windows users and they have not reported an issue. Golly
-
Manual Deployment of Hyperion SS on Websphere Application server 6.1
Hi I am trying to delopy Hyperion Shared Service R11.1 (interop.war) on Websphere Application server 6.1 . I am following the steps given in Deploying EPM System into WebSphere Application Server (epm_manual_deployment.pdf) page 100 After deploying a
-
Hi... good evening. he asked,Is it possible to modify report values dynamically. suppose i retrieve po as 10000.now i want to modify that as 1200.this happens only for output but not for database table. how you do this? i said using edit mask we can
-
Problem with a multisourced dimension
Hi Guru's I have a problem with a multisourced dimension. Some of the values that are in the tables are not visible when I create a filter and choose all choices, but when facts are set against the dimension these values do show. This is the situatio