I'm trying to convert my SER 0.9.x config file to a 0.10.x file. I need some help converting AVPs. I use to use rules such as " if (avp_db_load("$ruri/username", "s:callfwdall"))..." however this now generates a syntax error. Is there a how-to which describes how to convert these types of statements to the new format?
Thanks,steve
Senior Network Engineer,
Information Systems and Computing
Networking and Telecommunications , Suite 221A /6228
University of Pennsylvania
Voice:215-573-8396
FAX:215-898-9348
Hi Eric,
To be honest, no, I haven;t, because I do not have access to such a
machine. Could you post the errors you get now?
Regards,
Bogdan
wliangy(a)gmail.com wrote:
> Thanks!
> But there is still problem.
> May I ask whether you have compiled successfully on Solaris 8 or 10?
>
> 2008/5/26 Bogdan-Andrei Iancu <bogdan(a)voice-system.ro>:
>
>> Hi Eric,
>>
>> use "gmake" and not "make" on Solaris.
>>
>> Regards,
>> Bogdan
>>
>> wliangy(a)gmail.com wrote:
>>
>>> Hi experts,
>>> I am start user of openser and need use openser to support sctp.
>>> now I have download the source codes of openser-1.3.1-tls.
>>> then I compiled it, there have many errors that need your supports.
>>>
>>> e.g.
>>> openser-1.3.1-tls> make all
>>> Makefile.defs:717: *** missing separator. Stop.
>>>
>>> then I commented Makefile.defs line717 and 718.
>>> # $(warning Old gcc detected ($(CC_SHORTVER)), use
>>> gcc >= 3.1 \
>>> # for better results)
>>>
>>> Errors were still there.
>>>
>>> openser-1.3.1-tls> make all
>>> Makefile:402: warning: overriding commands for target
>>> `/opt/CiscoMGC$(DESTDIR)'
>>> Makefile:393: warning: ignoring old commands for target
>>> `/opt/CiscoMGC$(DESTDIR)'
>>> yacc -d -b cfg cfg.y
>>> "cfg.y", line 391: warning: redeclaration of precedence of SLASH.
>>>
>>> conflicts: 1 shift/reduce
>>> flex cfg.lex
>>> statistics.c:58: warning: #warning STATISTICS: Architecture with no
>>> support for atomic operations. Using Locks!!
>>> Makefile:402: warning: overriding commands for target
>>> `/opt/CiscoMGC$(DESTDIR)'
>>> Makefile:393: warning: ignoring old commands for target
>>> `/opt/CiscoMGC$(DESTDIR)'
>>> Compiling action.c
>>> gcc -g -O9 -funroll-loops -Wall -mv8 -DNAME='"openser"'
>>> -DVERSION='"1.3.1-notls"' -DARCH='"sparc64"' -DOS='"solaris"'
>>> -DCOMPILER='"gcc 2.91.66"' -D__CPU_sparc64 -D__OS_solaris -D__SMP_no
>>> -DCFG_DIR='"$(DESTDIR)/etc/openser/"' -DPKG_MALLOC -DSHM_MEM
>>> -DSHM_MMAP -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE
>>> -DHAVE_RESOLV_RES -DSTATISTICS -DCHANGEABLE_DEBUG_LEVEL -DF_MALLOC
>>> -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024
>>> -DHAVE_GETIPNODEBYNAME -DHAVE_SYS_SOCKIO_H -DHAVE_SCHED_YIELD
>>> -DHAVE_ALLOCA_H -DUSE_SIGACTION -D_POSIX_PTHREAD_SEMANTICS
>>> -DHAVE_DEVPOLL -DHAVE_SELECT -c action.c -o action.o
>>> parser/msg_parser.h: In function `char_msg_val':
>>> In file included from action.h:27,
>>> from action.c:44:
>>> parser/msg_parser.h:300: parse error before `)'
>>> forward.h: In function `msg_send':
>>> In file included from action.c:49:
>>> forward.h:95: parse error before `)'
>>> forward.h:103: parse error before `)'
>>> forward.h:107: parse error before `)'
>>> mem/../lock_alloc.h: In function `lock_set_alloc':
>>> In file included from mem/../locking.h:66,
>>> from mem/../statistics.h:115,
>>> from mem/shm_mem.h:33,
>>> from ut.h:52,
>>> from action.c:54:
>>> mem/../lock_alloc.h:68: parse error before `)'
>>> ut.h: In function `int2bstr':
>>> In file included from action.c:54:
>>> ut.h:172: parse error before `)'
>>> ut.h: In function `un_escape':
>>> ut.h:365: parse error before `)'
>>> ut.h: In function `shm_str_dup':
>>> ut.h:498: parse error before `)'
>>> ut.h: In function `pkg_str_dup':
>>> ut.h:515: parse error before `)'
>>> ut.h: In function `str_strcmp':
>>> ut.h:532: parse error before `)'
>>> ut.h:535: parse error before `int'
>>> ut.h:539: `minlen' undeclared (first use in this function)
>>> ut.h:539: (Each undeclared identifier is reported only once
>>> ut.h:539: for each function it appears in.)
>>> ut.h:547: `alen' undeclared (first use in this function)
>>> ut.h:547: `blen' undeclared (first use in this function)
>>> ut.h: In function `str_strcasecmp':
>>> ut.h:563: parse error before `)'
>>> ut.h:566: parse error before `int'
>>> ut.h:570: `minlen' undeclared (first use in this function)
>>> ut.h:578: `alen' undeclared (first use in this function)
>>> ut.h:578: `blen' undeclared (first use in this function)
>>> action.c: In function `run_action_list':
>>> action.c:140: parse error before `)'
>>> action.c: In function `do_assign':
>>> action.c:193: parse error before `)'
>>> action.c:202: parse error before `)'
>>> action.c:222: parse error before `)'
>>> action.c:228: parse error before `)'
>>> action.c: In function `do_action':
>>> action.c:302: parse error before `)'
>>> action.c:309: parse error before `)'
>>> action.c:335: parse error before `)'
>>> action.c:498: parse error before `)'
>>> action.c:524: parse error before `)'
>>> action.c:682: parse error before `)'
>>> action.c:710: parse error before `)'
>>> action.c:723: parse error before `)'
>>> action.c:757: parse error before `)'
>>> action.c:763: parse error before `)'
>>> action.c:807: parse error before `)'
>>> action.c:819: parse error before `)'
>>> action.c:870: parse error before `)'
>>> action.c:896: parse error before `)'
>>> action.c:904: parse error before `)'
>>> action.c:930: parse error before `)'
>>> action.c:939: parse error before `)'
>>> action.c:945: parse error before `)'
>>> action.c:966: parse error before `)'
>>> make: *** [action.o] Error 1
>>>
>>> Your any help is much appreciated!
>>>
>>> BR,
>>> Eric
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users(a)lists.openser.org
>>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>
>
>
Hello,
I am trying to configure a number of openser servers.
I have the following testbed:
Phone1 + Proxy - Registrar - out proxy
Phone2/
The Proxy acts as outbound proxy for customers and uses ienum to route
messages to the right registrar (using user@domain), the registrar then
figures out where the destination is and sends the packet out to
ENUM/PSTN or in my case back to the same proxy.
The proxy is running nathelper (and redirects rtp to an rtp proxy) and
performs route-recording.
The proxy configuration has:
modparam("path", "use_received", 0)
and the registrar configuration contains:
modparam("registrar", "use_path", 1)
modparam("registrar", "path_mode", 0)
modparam("registrar", "path_use_received", 1)
When registering all is fine and well and the packet flows like:
Phone<X> -> Proxy -> Registrar (storing in DB) -> Proxy -> Phone<X>
and the DB contains in path:
<sip:ProxyIP;lr;received=sip:PhoneIP:PhonePort>
However, when performing an invite the ACK packet (INVITE/OK/ACK) can
not be routed properly as it is not part of the transaction, which
causes the call to be cancelled after a few seconds (as it should be
given the constance).
The ACK packet starts as
URI: <sip:user@<Registrar IP>:5060;rinstance=xxxxxx>
Contact: <sip:user@PhoneIP:PhonePort>
with the IP and Port correctly translated from the internal to the
firewall external.
It then travels like this:
Phone1 -> Proxy -> Registrar > Proxy <stop here>
When leaving Registrar the ACK URI has been changed to the one stored in
the DB path field ie: <sip:ProxyIP;lr;ftag=yyyyyy>
at that point the Proxy is not able to figure out where to forward the
packet even if the Contact field of the packet is still correctly set to
the IP:Port of the phone to be reached.
I was wondering if I am missing some understanding of how RFC3327 is
working.
I can see a few possible solutions:
- generate a first Path header with the Phone information on the proxy
before the current one.
- try to catch those 'out of transaction ACK' and set the URI to the contact
But before doing anything I would appreciate if someone could let me
know if I am attempting something idiotic from a design point of view
and tell me why what I expected to 'just work' does not behave as expected.
Thank you very much your your time and help.
Thomas
Hi,
Someone could have tips on how to register in local domain a UAc mobility
of another domain (federation) using the OpenSER's config....when one of
the INVITE's UAc have to be verified as valid in the home domain and the
answer would be allowed its domain registration in place, with a
pointer/indicator in the home domain...where he was as that moment??
UAs(local) (accept register after validation on UAs(home)
\
\ (Invite/register)
\
UAc (mobility)-- -- -- -- -- UAs(home
Thx for any help...
Marcio
Hi,
Who would have tips on how to capture the return codes negative of the
function "www_authorize" ???
I read somewhere that said to use $retval........but ...How can I to use it
("$retval") ??
-1 - Non existent user;
-2 - invalid passwd;
-3 - stale nonce;
-4 - no credentials;
-5 - error;
Any help will be greatly appreciated.
thx,
Marcio
---------- Forward message ----------
Subject: Re: [OpenSER-Users] Installing perl module
Date: Freitag, 30. Mai 2008
From: "Yazid Hadj Said" <yazid.hadjsaid(a)gmail.com>
Tp: "Henning Westerholt" <henning.westerholt(a)1und1.de>
Hi Henning,
I think that the problem is in openser ebuild, so I do this modifications:
# diff openser-1.3.1.ebuild openser-1.3.1.ebuild.old
7c7
< IUSE="ipv6 mysql radius postgres jabber ssl odbc perl perlvdb"
---
58,63d57
< use perl &&
< modules="${modules} perl"
<
< use perlvdb &&
< modules="${modules} perlvdb"
<
---------------------------------------
Hi Yazid,
please always CC at the list, so that others can read the resolution too.
Great that it works now for you.
I'm not sure if the ebuild that is included in the openser distribution is
also used in gentoo. Perhaps you can file a bug against the gentoo package
(on gentoo.org), and attach your patch, so that the maintainer could fix
this?
Cheers,
Henning
Hi,
I use 1.3.1 openser version, and i don't find perl module (I don't know
Why). My question is if I can add perl module without recompiling openser.
(I use Gentoo distribution)
Regards
Yazid
Hi,
please I want to know: If and How I can use variables in "regexp" .
example:
avp_subst("avp(s:var1)/$avp(s:var2)","/(.*)$avp(s:var3)(.*)/\1/")
In this example, simply the "$avp(s:var3)" string is matched, not the
$avp(s:var3)'s content.
I am very need this function.
Thanks in advance,
Yazid