I have read and re-read the overview of the lcr module but still think I'm
failing to understand it.
What I want to achieve is routing to different gateways based on number
dialled e.g. 001, 0044, 0086 should result in different gateways.
Looking at the tables, I would guess that the link is lcr -> gw_grp -> gw as
shown in the following example:
lcr
prefix from_uri grp_id priority
001 1 1
001 2 2
0044 3 1
0086 4 1
0086 5 2
gw_grp
grp_id grp_name
1 US 1
2 IS 2
3 UK 1
4 China 1
5 China 2
gw
gw_name grp_id ip_addr port uri_scheme transport strip prefix
A 1 192.1 5060 1 011
B 2 192.2 5060 1 011
etc
I don't think I have understood correctly because the documentation implies
that gw_grp is optional.
Is there a tutorial for this module that could calrify my understanding? I'm
also trying to understand what the various avps are used for. Any advice
appreciated.
Regards
Cameron
Hi all:
I just tested SEMS media server 0.10.0 with openser 1.3.0. The test case
is :
1. openser get SIP message, indentify message by SIP URI, and deliver to
SEMS by UNIX socket
[openser quote]
modparam("mi_datagram", "socket_name", "/tmp/ser_sock")
..
if (uri=~"sip:100.*@") {
# assumes that Sems configuration parameter 'socket_name='
# has been set to /tmp/sems_sock
if(!t_write_unix("/tmp/sems_sock","conference")) {
t_reply("500","error contacting sems");
};
exit;
};
[/openser quote]
2. SEMS get SIP message, give a response through mi_datagram, the
response is like
[response snip]
:t_reply:/tmp/1D8FFAE5-47746119000C9DF2-B6E03B90
200
OK
41621:1987570916
7D41B2DF-47746119000C89B3-B7CA76C0
Contact: <sip:100@192.168.35.40>
Content-Type: application/sdp
.
v=0^M
o=username 0 0 IN IP4 192.168.35.40^M
s=session^M
c=IN IP4 192.168.35.40^M
t=0 0^M
m=audio 10002 RTP/AVP 0 8 3 101^M
a=rtpmap:0 PCMU/8000^M
a=rtpmap:8 PCMA/8000^M
a=rtpmap:3 GSM/8000^M
a=rtpmap:103 telephone-event/8000^M
a=fmtp:101 0-15^M
.
[/response snip]
But the problem is that openser says " command not available". The
detail log is:
Dec 28 10:36:09 [17682] ERROR:mi_datagram:identify_command: the
request's first line is invalid :no newline after the second :
Dec 28 10:36:09 [17682] ERROR:mi_datagram:mi_datagram_server: command
not available
Dec 28 10:36:09 [17682] DBG:mi_datagram:mi_datagram_server: received
:t_reply:/tmp/70FAB4E3-47746119000CA82E-B6E03B90
500
could not send response
41621:1987570916
3E69BD05-47746119000CA86F-B6E03B90
When I replaced openser 1.3.0 with ser-0.9.6 bundled with SEMS 0.10.0,
everything was OK. So, is openser 1.3.0
incompatible with SEMS 0.10.0? Or I made a mistake in openser.cfg?
Any clue is welcome. Thanks in advance.
Regards,
Chen Xueqin
Hello list.
I'm getting this error trying to install the last version of openser.
route_config.c:39:21: error: confuse.h: No such file or directory
Can someone help me here?
Thanks in advance
Regards,
Ricardo Martinez.-
Dear all
I have installed openser with mediaproxy and it is working fine without nat but behind the nat Xlite register successfully and call established but thing is that no audio on both side after 1 min call automatically disconnected
Debug error
[root@proxy ~]# /usr/local/mediaproxy/mediaproxy.py --no-fork
warning: accounting is enabled but the accounting module is missing. accounting is not available!
Listening for commands on local socket `/var/run/mediaproxy.sock'
Listening for remote commands is disabled
Using IP address `203.124.16.109 # This is where OpenSER installed' for the RTP/RTCP proxy
request YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY. 202.131.100.102:8128:audio 59.96.156.122 example.com local 192.168.104.164 remote X-Lite=20release=201011s=20stamp=2041150 info=from:123@example.com,to:111@example.com,fromtag:a9746f3e,totag:
session YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY.: started. listening on 203.124.16.109:#,This,is,where,OpenSER,installed,60000
execution time: 1.72 ms
lookup YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY. 192.168.104.164:13930:audio 192.168.104.164 example.com local example.com unknown X-Lite=20release=201002tx=20stamp=2029712 info=from:123@example.com,to:111@example.com,fromtag:a9746f3e,totag:e376233a
execution time: 0.28 ms
lookup YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY. 192.168.104.164:13930:audio 192.168.104.164 example.com local example.com unknown X-Lite=20release=201002tx=20stamp=2029712 info=from:123@example.com,to:111@example.com,fromtag:a9746f3e,totag:e376233a
execution time: 0.37 ms
lookup YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY. 192.168.104.164:13930:audio 192.168.104.164 example.com local example.com unknown X-Lite=20release=201002tx=20stamp=2029712 info=from:123@example.com,to:111@example.com,fromtag:a9746f3e,totag:e376233a
execution time: 0.37 ms
session YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY.: 0/0/0 packets, 0/0/0 bytes (caller/called/relayed)
session YTEzN2ZiNTIwZDhkNDI0MDE1N2NjYmZkY2FlODc1MWY.: ended (did timeout).
Is there any nat issuse of RTP port problem ???
----PGP Signature--
Satish Patel
mobile:- +91-9818875535
http://www.linuxbug.org
---------------------------------
Never miss a thing. Make Yahoo your homepage.
Hello Users
Merry X-mas and Adv . Happy New Year
So long back ago , I posted the same imformation to mailing listing.
Is in Black Cat of OpenSER 1.3.0, avp_db_query can execute the function and
stores procedures of MySQL database?
--
Thanks &Regards
Ravi Prakash Sunkara
VoIP Development Tech Lead
2007/12/27, Juha Heinanen <jh(a)tutpro.com>:
> Iñaki Baz Castillo writes:
>
> > Thanks, I'll try it.
>
> i made a mistake, you need to use mailbox application rather than
> voicemail application.
Yes, I already realized of that ;)
The problem is that mailbox/mailbox_query apps seem to use IMAP as
storage while I prefer to use MySQL. Anyway there is not too much info
about those two SEMS applications, I think that for now I'll try with
Asterisk + ODBC storage.
Thanks for all.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>
Hi, Presence_MWI module support PUBLISH or SUBSCRIBE for "Event:
message-summary" according to RFC 3842), so a voicemail server could publish
voicemail status.
Asterisk (as a voicemail server) just allows unsollicited message waiting
indication (not RFC 3842). Is there any GPL voicemail system supporting RFC
3842?
Regards.
--
Iñaki Baz Castillo
Hello All,
I expect I have a syntax fluff with an avp_db_query() example, but I can't
find it. A pointer to the solution would be greatly appreciated.
I'm running mysql 5:
Spongy% mysql -V
mysql Ver 14.12 Distrib 5.0.27, for pc-linux-gnu (i686) using readline 5.0
and openser 1.3.0:
Spongy% openser -V
version: openser 1.3.0-tls (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: unknown
@(#) $Id: main.c 3304 2007-12-11 12:55:11Z bogdan_iancu $
main.c compiled on 12:09:35 Dec 14 2007 with gcc 3.4.6
A direct query of the mysql usr_preferences table works as expected:
mysql> select attribute, value from usr_preferences where username='55555' order by attribute;
+-----------+-------+
| attribute | value |
+-----------+-------+
| 1 | 55510 |
| 2 | 55520 |
| 3 | 55530 |
| 4 | 55540 |
| 5 | 55500 |
+-----------+-------+
5 rows in set (0.00 sec)
This configuration taken almost directly from avp_db_query.html
mpath="/usr/local/lib/openser/modules"
...
loadmodule "mysql.so"
loadmodule "avpops.so"
loadmodule "xlog.so"
...
avp_delete("*");
if (avp_db_query("SELECT attribute, value
FROM usr_preferences
WHERE username='55555'
ORDER BY attribute")) {
xlog("L_NOTICE", "avp(i:1[1])=$avp(i:1[1]) avp(i:2[1])=$avp(i:2[1])\n");
xlog("L_NOTICE", "avp(i:1[2])=$avp(i:1[2]) avp(i:2[2])=$avp(i:2[2])\n");
xlog("L_NOTICE", "avp(i:1[3])=$avp(i:1[3]) avp(i:2[3])=$avp(i:2[3])\n");
xlog("L_NOTICE", "avp(i:1[4])=$avp(i:1[4]) avp(i:2[4])=$avp(i:2[4])\n");
xlog("L_NOTICE", "avp(i:1[5])=$avp(i:1[5]) avp(i:2[5])=$avp(i:2[5])\n");
} else {
xlog("L_NOTICE", "avp_db_query() returned no records\n");
};
produces these errors:
Dec 26 14:16:28 [25226] WARNING:core:main: no fork mode
Dec 26 14:16:28 [25226] INFO:core:init_tcp: using epoll_lt as the TCP io watch method (auto detected)
Dec 26 14:16:28 [25226] NOTICE:core:main: version: openser 1.3.0-tls (i386/linux)
Dec 26 14:16:28 [25226] INFO:core:main: using 32 Mb shared memory
Dec 26 14:16:28 [25226] INFO:core:main: using 1 Mb private memory per process
Dec 26 14:16:28 [25226] INFO:sl:mod_init: Initializing StateLess engine
Dec 26 14:16:28 [25226] INFO:tm:mod_init: TM - initializing...
Dec 26 14:16:28 [25226] INFO:acc:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:maxfwd:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:usrloc:ul_init_locks: locks array size 512
Dec 26 14:16:28 [25226] INFO:registrar:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:auth:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:auth_db:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:textops:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:exec:mod_init: exec - initializing
Dec 26 14:16:28 [25226] INFO:options:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:avpops:avpops_init: initializing...
Dec 26 14:16:28 [25226] INFO:xlog:mod_init: initializing...
Dec 26 14:16:28 [25226] ERROR:core:parse_avp_name: invalid ID <1[1]> not a number
Dec 26 14:16:28 [25226] ERROR:core:pv_parse_avp_name: bad avp name [1[1]]
Dec 26 14:16:28 [25226] ERROR:core:pv_parse_spec: pvar "avp" has an invalid name param [1[1]]
Dec 26 14:16:28 [25226] ERROR:core:pv_parse_spec: wrong char [)/41] in [$avp(i:1[1]) avp(i:2[1])=$avp(i:2[1])
] at [11 (5)]
Dec 26 14:16:28 [25226] ERROR:xlog:xdbg_fixup: ERROR: wrong format[avp(i:1[1])=$avp(i:1[1]) avp(i:2[1])=$avp(i:2[1])
]
Dec 26 14:16:28 [25226] ERROR:core:fix_actions: fixing failed (code=-1) at cfg line 288
Dec 26 14:16:28 [25226] ERROR:core:main: failed to fix configuration with err code -1
Thanks much for any help.
- Jeremy
Hello All,
I expect I have a syntax fluff with an avp_db_query() example, but I can't
find it. A pointer to the solution would be greatly appreciated.
I'm running mysql 5:
Spongy% mysql -V
mysql Ver 14.12 Distrib 5.0.27, for pc-linux-gnu (i686) using readline 5.0
and openser 1.3.0:
Spongy% openser -V
version: openser 1.3.0-tls (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, DISABLE_NAGLE, USE_MCAST, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
svnrevision: unknown
@(#) $Id: main.c 3304 2007-12-11 12:55:11Z bogdan_iancu $
main.c compiled on 12:09:35 Dec 14 2007 with gcc 3.4.6
A direct query of the mysql usr_preferences table works as expected:
mysql> select attribute, value from usr_preferences where username='55555' order by attribute;
+-----------+-------+
| attribute | value |
+-----------+-------+
| 1 | 55510 |
| 2 | 55520 |
| 3 | 55530 |
| 4 | 55540 |
| 5 | 55500 |
+-----------+-------+
5 rows in set (0.00 sec)
This configuration taken almost directly from avp_db_query.html
mpath="/usr/local/lib/openser/modules"
...
loadmodule "mysql.so"
loadmodule "avpops.so"
loadmodule "xlog.so"
...
avp_delete("*");
if (avp_db_query("SELECT attribute, value
FROM usr_preferences
WHERE username='55555'
ORDER BY attribute")) {
xlog("L_NOTICE", "avp(i:1[1])=$avp(i:1[1]) avp(i:2[1])=$avp(i:2[1])\n");
xlog("L_NOTICE", "avp(i:1[2])=$avp(i:1[2]) avp(i:2[2])=$avp(i:2[2])\n");
xlog("L_NOTICE", "avp(i:1[3])=$avp(i:1[3]) avp(i:2[3])=$avp(i:2[3])\n");
xlog("L_NOTICE", "avp(i:1[4])=$avp(i:1[4]) avp(i:2[4])=$avp(i:2[4])\n");
xlog("L_NOTICE", "avp(i:1[5])=$avp(i:1[5]) avp(i:2[5])=$avp(i:2[5])\n");
} else {
xlog("L_NOTICE", "avp_db_query() returned no records\n");
};
produces these errors:
Dec 26 14:16:28 [25226] WARNING:core:main: no fork mode
Dec 26 14:16:28 [25226] INFO:core:init_tcp: using epoll_lt as the TCP io watch method (auto detected)
Dec 26 14:16:28 [25226] NOTICE:core:main: version: openser 1.3.0-tls (i386/linux)
Dec 26 14:16:28 [25226] INFO:core:main: using 32 Mb shared memory
Dec 26 14:16:28 [25226] INFO:core:main: using 1 Mb private memory per process
Dec 26 14:16:28 [25226] INFO:sl:mod_init: Initializing StateLess engine
Dec 26 14:16:28 [25226] INFO:tm:mod_init: TM - initializing...
Dec 26 14:16:28 [25226] INFO:acc:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:maxfwd:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:usrloc:ul_init_locks: locks array size 512
Dec 26 14:16:28 [25226] INFO:registrar:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:auth:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:auth_db:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:textops:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:exec:mod_init: exec - initializing
Dec 26 14:16:28 [25226] INFO:options:mod_init: initializing...
Dec 26 14:16:28 [25226] INFO:avpops:avpops_init: initializing...
Dec 26 14:16:28 [25226] INFO:xlog:mod_init: initializing...
Dec 26 14:16:28 [25226] ERROR:core:parse_avp_name: invalid ID <1[1]> not a number
Dec 26 14:16:28 [25226] ERROR:core:pv_parse_avp_name: bad avp name [1[1]]
Dec 26 14:16:28 [25226] ERROR:core:pv_parse_spec: pvar "avp" has an invalid name param [1[1]]
Dec 26 14:16:28 [25226] ERROR:core:pv_parse_spec: wrong char [)/41] in [$avp(i:1[1]) avp(i:2[1])=$avp(i:2[1])
] at [11 (5)]
Dec 26 14:16:28 [25226] ERROR:xlog:xdbg_fixup: ERROR: wrong format[avp(i:1[1])=$avp(i:1[1]) avp(i:2[1])=$avp(i:2[1])
]
Dec 26 14:16:28 [25226] ERROR:core:fix_actions: fixing failed (code=-1) at cfg line 288
Dec 26 14:16:28 [25226] ERROR:core:main: failed to fix configuration with err code -1
Thanks much for any help.
- Jeremy