I am sending an INVITE to Box A for "F+18007622265@boxa"
Part of GW Table:
gw_name
grp_id
ip_addr
port
uri_scheme
transport
strip
prefix
toll-free failover 5 XXXXXXXX /NULL/ /NULL/ /NULL/ 1
Part of LCR Table:
id prefix
from_uri
grp_id
priority
170 F+1800 5 1
This sends the call to box B XXXXXXXX per the GW table:
Jan 29 04:03:16 boxb-sip /usr/local/sbin/openser[28118]: Req 41070
INVITE From <sip:asterisk@XXX.XXX.XXX.XXX> To <sip:F+18007622265@boxa>
RURI <sip:+18007622265@boxb>
It strips the F off in the RURI field but not in the TO field so boxb
then fails the call as it doesn't know how to route a call to
F+1800NXXXXXX.
What can I do to make it re-format the to: field?
The original problem I am trying to solve is that toll-free calls are
routed to a system. If that system cannot handle the call I want that
system to then place the call back to the OpenSER box (boxa) but instead
of using the grp_id of 2 that +1800 calls would go to (and route to the
system in question), I want to indicate that boxa should use group 5 and
send the calls to boxb.
There is probably a very easy way of doing this which doesn't involve a
mangled dial string but I'm missing it so if anyone would like to assist
me with this that would be great.
Hi, in order to try managing NAT when the SDP negoziation is done via "200
OK" - "ACK" (instead of "INVITE - "200 OK") I need a UAC that can send INVITE
with empty SDP in order to force the called to generate the SDP offer in the
reply.
Is there any UAC allowing it?
Thanks a lot.
--
Iñaki Baz Castillo
Hello everybody.
Currently, I am watching a non normal behaviour in OpenSER 1.2.1, no tls. My
operating System is Solaris 10, running on Sparc
The process which appears as timer, is consuming almost the 50% of the whole
physical memory of the machine. After a deep inspection of memory
distribution, appears that the most of memory consumption is at process
heap, as presented with pmap(1M) command:
1978: /toip/sbin/openser -n 9 -m 256 -f /toip/etc/openser/prueba1.cfg
Address Kbytes RSS Anon Locked Mode Mapped File
00010000 760 752 - - r-x-- openser
000DC000 24 24 24 - rwx-- openser
000E2000 56 32 24 - rwx-- [ anon ]
000F0000 192 128 - - rwx-- openser
00120000 3906432 3906432 3627200 - rwx-- [ heap ]
EE800000 262144 3624 - - rw-s- [ anon ]
...
Thanks in advance for any hint about it.
Best regards.
Sergio Gutiérrez.
EPM Telecomunicaciones S.A. E.S.P.
Medellin, Colombia.
I got some routing problem configuring two NICs at debian.
Openser is listening all possible network interface.
I've configured one for static global IP address and one for internal
private IP address.
The reason why I've configured like this is for maintenance and development
purpose.
The static global IP line is for the service and the private IP line is for
monitoring and administrations.
But when I try to connect to openser of static global IP address, it was
failed to register.
1) My machine was using private IP address of same subnet of openser
connected to our private network.
2) My machine is trying to connect openser of static global IP address.
In case of configuring dual NICs on Openser machine, is there any routing
problem ?
So I restricted the openser only listening static global IP address then it
allows connection and succeeds in registration.
Hello Users
Like Asterisk PBX I implemented the Ringing Group like Ring all, Round Robin
and Memory Hunt ,
RingAll and Round Robin Ringing is working fine with the following UserAgent
LinkSys 941 and X-lite, GrandStream, And SJphones, with these is working,
When comes to Memory Hunt Ring feature only with Sjphone are working fine,
but with User Agent not working the problem is
Previous User-Agent number is Not ringing.
Can any one tell me solution Why these user-Agents are not working ........
Here is my Memory Hunt logic
First A rings
Second time A and B rings ( in Failure route Ist time )
Third Time A, B and C ( in Failure route 2 nd time )
Fourth time A, B,C and D rings ( in Failure route 3 time )
--
Thanks &Regards
Ravi Prakash Sunkara
VoIP Development Tech Lead
El Sábado, 26 de Enero de 2008, escribió:
> Hello,
>
> Why not just make allowed_from_numbers a regex, and feed it directly?
> I.e.
>
> $avp(allowed_from_numbers) = "(100|200|300|400)";
>
> if($avp(allowed_from_numbers) =~ $fU){
> # allowed
> } else {
> # not allowed
> }
>
>
> Hope this helps!
Yes, sure, it's a good idea ;)
Thanks.
--
Iñaki Baz Castillo
Hi,
my plan is to give the possibility for multiple VoIP users within the same
LAN to call each other using OpenSER as the SIP server. I found that if
there is a NATed LAN, two different VoIP users inside the NATed LAN cannot
talk to each other properly, because IP parts of the RTP packets are of the
form of the local network and it is not acceptable by the VoIP software
which is prepared for the IP of the router instead. (I hope I understand
clearly what is going on here.)
As a workaround, I found a suggestion in the internet: using rtpproxy with
OpenSER. As I can understand, all RTP packets are sent to the rtpproxy
process via OpenSER (nathelper module). rtpproxy will behave as a bridge
between the two NATed VoIP clients lying in the same LAN. Both clients will
initiate their RTP/UDP traffic on their own side and answers will come from
the rtpproxy process just for the same UDP pipe. Using this method the
clients do not need to allow incoming UDP traffic, only outgoing traffic
should be enabled (which is usually allowed by default in most LANs).
Here comes my question. I successfully set up OpenSER (version 1.1.x, but I
will migrate to 1.2.x soon). I think I also successfully set up rtpproxy,
but it seems that there is no real traffic between OpenSER and rtpproxy.
Here I attach my command line for running rtpproxy ( 200.200.200.200 is my
public IP of the OpenSER server host; I run rtpproxy on the same server).
-------------------------8X snip here-------------------------------
# rtpproxy -f -l 200.200.200.200 -s unix:/var/run/rtpproxy.sock -r
/home/rtpproxy -S /home/rtpproxy.work
rtpproxy started, pid 24568
received command "V"
sending reply "20040107
"
received command "VF 20050322"
sending reply "1
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "VF 20050322"
sending reply "1
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "V"
sending reply "20040107
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "VF 20050322"
sending reply "1
"
received command "U 3331228473621-29341876517920(a)160.114.144.65
160.114.144.65 10004 196215176;1"
new session 3331228473621-29341876517920(a)160.114.144.65 , tag 196215176;1
requested, type strong
new session on a port 35000 created, tag 196215176;1
pre-filling caller's address with 160.114.144.65:10004
sending reply "35000 212.92.3.218
"
session timeout
RTP stats: 0 in from callee, 0 in from caller, 0 relayed, 0 dropped
RTCP stats: 0 in from callee, 0 in from caller, 0 relayed, 0 dropped
session on ports 35000/0 is cleaned up
-------------------------8X snip here-------------------------------
My debug=7 output for OpenSER, filtered for the string "rtp" comes here (I
had to chown openser.openser /var/run/rtpproxy* for OpenSER to make it
possible to communicate with rtpproxy at all):
-------------------------8X snip here-------------------------------
# tail -f daemon.log | grep rtp
Jan 15 00:27:39 firewall openser: set_mod_param_regex: found <rtpproxy_sock>
in module nathelper [/usr/lib/openser/modules/]
Jan 15 00:27:39 firewall openser: set_mod_param_regex: found
<rtpproxy_disable> in module nathelper [/usr/lib/openser/modules/]
Jan 15 00:27:39 firewall openser: set_mod_param_regex: found
<rtpproxy_disable_tout> in module nathelper [/usr/lib/openser/modules/]
Jan 15 00:27:39 firewall openser: set_mod_param_regex: found <rtpproxy_tout>
in module nathelper [/usr/lib/openser/modules/]
Jan 15 00:27:39 firewall openser: set_mod_param_regex: found <rtpproxy_retr>
in module nathelper [/usr/lib/openser/modules/]
Jan 15 00:27:39 firewall openser: find_cmd_export_t: found
<force_rtp_proxy>(0) in module nathelper [/usr/lib/openser/modules/]
Jan 15 00:27:39 firewall openser: f<force_rtp_proxy>
Jan 15 00:27:39 firewall /usr/sbin/openser[25093]: fixing force_rtp_proxy,
line 443
Jan 15 00:27:39 firewall /usr/sbin/openser[25095]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25096]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25098]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25100]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25106]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25105]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25117]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25103]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25108]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25104]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25112]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25094]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25113]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25093]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25111]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25122]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25118]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25123]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25097]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25107]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25125]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25120]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25115]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25110]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25119]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25116]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25124]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25114]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25121]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25099]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25102]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25109]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:27:40 firewall /usr/sbin/openser[25101]: rtpp_test: RTP proxy
<unix:/var/run/rtpproxy.sock> found, support for it enabled
Jan 15 00:28:21 firewall /usr/sbin/openser[25112]: force_rtp_proxy2: proxy
reply: 35000 212.92.3.218
Jan 15 00:28:27 firewall /usr/sbin/openser[25114]: build_res_from_sip_res:
copied size: orig:77, new: 16, rest: 780 msg= SIP/2.0 200 Ok^M Via:
SIP/2.0/UDP 160.114.144.65:1024;branch=z9hG4bK27994379851422672^M From:
06212527755 <sip:06212527755@sip.ephone.hu:5060>;tag=196215176^M To:
06212527722 < sip:06212527722@sip.ephone.hu:5060>;tag=7816428^M Contact: <
sip:06212527722@160.114.144.65:5060>^M Record-Route:
<sip:200.200.200.200;lr;ftag=196215176>^M
Call-ID: 3331228473621-29341876517920(a)160.114.144.65^M CSeq: 1 INVITE^M
Content-Type: application/sdp^M Server: X-Lite release 1105d^M
Content-Length: 320^M ^M v=0^M o=06212527722 2057424946 2057430520 IN IP4
160.114.144.65^M s=X-Lite^M c=IN IP4 160.114.144.65^M t=0 0^M m=audio 8000
RTP/AVP 0 8 3 98 97 101^M a=rtpmap:0 pcmu/8000^M a=rtpmap:8 pcma/8000^M
a=rtpmap:3 gsm/8000^M a=rtpmap:98 iLBC/8000^M a=rtpmap:97 speex/8000^M
a=rtpmap:101 telephone-event/8000^M a=fmtp:101 0-15^M a=sendrecv^M
-------------------------8X snip here-------------------------------
My nathelper related part of openser.cfg comes here:
-------------------------8X snip here-------------------------------
loadmodule " nathelper.so"
modparam("nathelper", "natping_interval", 60)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "received_avp", 42)
modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
modparam("nathelper", "rtpproxy_disable", 0)
modparam("nathelper", "rtpproxy_disable_tout", 60)
modparam("nathelper", "rtpproxy_tout", 1)
modparam("nathelper", "rtpproxy_retr", 5)
modparam("nathelper", "sipping_method", "OPTIONS")
-------------------------8X snip here-------------------------------
Of course, directories /home/rtpproxy* are empty.
Could somebody please help me why there is no media stream between OpenSER
and rtpproxy?
Your help is greatly appreciated in advance. I am using Debian Etch.
Best regards, Zoltan
Hi, I'd like to store in an AVP various posible values and load it
with "load_credentials" parameter of "auth" module.
The DB column would be: "allowed_from_numbers"
AndI'd like to store there the valid values a subscribe can use as From
username. For example:
allowed_from_numbers = "200;201;200"
So in OpenSer I do:
if ($avp(allowed_from_numbers) == $fU)
route(FROM_VALID);
But unfortunatelly I think this is not possible, is it? which would be the
required syntax to store various values?
Thanks.
--
Iñaki Baz Castillo