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 help 

    Hi 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 Healy

    Hi,
    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 please

    It 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?
    Gegham

    hi 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

    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

  • Regarding edit mask

    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