Hi!
I'm running ser-0.9.6, on FreeBSD 6.1-stable, database backend
is postgresql version 8.1.3.
Today I got errors in logfiles, saying:
messages.2.bz2:May 29 14:35:03 <XXX> /usr/local/sbin/ser[51448]:
ERROR:avpops:dbrow2avp: dbrow contains NULL fields
The similar problem reported in:
http://lists.iptel.org/pipermail/serusers/2005-May/019681.html
with much more detailed description of error, database contents
and config samples.
Patch is trivial, and looks more like a fix to copy'n'paste error:
in mysql/val.c function str2val states:
if (!_s) {
memset(_v, 0, sizeof(db_val_t));
VAL_TYPE(_v) = _t;
VAL_NULL(_v) = 1;
return 0;
}
VAL_NULL(_v) = 0;
and the last line mentions that 'well, that's value is not NULL'.
In postgresql/db_val.c, line 182, function str2valp, the same statement is the:
if (!_s) {
DLOG("str2valp", "got a null value");
VAL_TYPE(_v) = _t;
VAL_NULL(_v) = 1;
return 0;
}
without explicit notification that this is not-NULL value.
More than, nowhere else in this function VAL_NULL(_v) not set to 0.
So, if a value _v.val contained anyting but 0 at the function start,
resulting value will be threated as NULL despite the fact, that _s is NOT NULL.
Patch is obvious, just add VAL_NULL(_v)=0; after cited block (line 188) and
everyting will be ok.
At least for me it's ok for some hours :)
Hi ,
I tried to call from one nokia sip (E61 and other models )phone to another nokia sip phone. The call works fine. The problem comes only when I call from Phone A to Phone B and then immediately cancel the call(from Phone A). The Phone A will hangup the call as it sent CANCEL but the SER will ignore this CANCEL and still send INVITE to Phone B resulting in a ghost call situation.
I tried to capture a log of message and found that Phone A "CANCEL" message is received on SER even before any provisional response from Phone B. Therefor SER doesnot relay this CANCEL request to Phone B. I even checked RFC which clearly says that UAC should not send CANCEL untill it receives any provisional response. I talked to Nokia expert and they said the 100 Trying message from your server is considered as provisional response, therefor behaviour of client is absolutely correct.
Is there any way I can stop 100 Trying message and still run statefull SER, so that I can verify what nokia said. Any ideas suggestions are welcome.
Thanking you all in advance.
Best Regards,
Abdul Qadir
---------------------------------
Don't be flakey. Get Yahoo! Mail for Mobile and
always stay connected to friends.
Folks,
I developed a new feature in the Media Proxy project of AG-Proyect.
With this new feature the Media Proxy Server is now able to manage the
problem of the NAT IP change in an established call. It is
currently in production and working without any problem.
Somebody wants to test it?
I would like to know what to do to make this feature available to
everybody. Does anybody know?
Regards,
------------------------------
Details:
-------
Supose that there is an established rtp connection between two
endpoints and the media proxy is in the middle doing the relay of
the rtp streams, let´s say
(MP = mediaproxy)
EP A <--------->[NAT with IP1]<-----------> MP <--------------------> EP B
EP A sends rtp to MP_IP:MP_PORT passing through the NAT box.
EP B sends rtp to MP_IP:MP_PORT without passing through a NAT box.
The MP know that the caller = NAT_IP1:NAT_PORT1, and the called =
EP_B_IP:EP_B_PORT
Now, supose that the NAT box change their PUBLIC IP from IP1 to IP2, so
this escenary
EP A <------->[NAT with IP1]<---------> MP <-------------> EP B
will change to this
EP A <------->[NAT with IP2]<---------> MP <--------------> EP B
so the MP should detect that change of IPs and continue relaying the rtp
streams but now to IP2:PORT2 instead of IP1:PORT1.
Well, that was the situation y have experienced.
To fix this, I developed this solution, changing rtphandler.py file:
1) When the first rtp packet of a source arrives, save the SSRC field in
the MP.
- Save the SSRC of the caller.
- Save the SSRC of the called.
2) If arrives a rtp packet with unknown source IP but with the same SSRC
field of some of the two streams, updates the binding (with the new IP
detected) between the caller and the MP or between the called and the MP
according to the field SSRC previously saved.
Note: SSRC (RFC 3550 RTP), (from the rfc: "The SSRC identifier carried in
the RTP header and in various fields of RTCP packets is a random 32-bit
number that is required to be globally unique within an RTP session ")
--------------------------------
--
Gonzalo J. Sambucaro
Ingeniería de Software
Tel: +54-341-4230504
MSLC
gonzalo.sambucaro(a)mslc.com.ar
www.mslc.com.ar
Ocampo y Esmeralda - Vivero de Empresas de Base Tecnológica
Ciudad Universitaria Rosario UNR, CCT CONICET
Rosario - Santa Fé - Argentina
--
Gonzalo J. Sambucaro
Ingeniería de Software
Tel: +54-341-4230504
MSLC
gonzalo.sambucaro(a)mslc.com.ar
www.mslc.com.ar
Ocampo y Esmeralda - Vivero de Empresas de Base Tecnológica
Ciudad Universitaria Rosario UNR, CCT CONICET
Rosario - Santa Fé - Argentina
> Hi all,
>
> Is there an easy way to disable RTPProxy for certain calls eg. based
> on called number?
> Am using the ser.cfg from
> http://www.iptel.org/ser/howtos/optimizing_the_use_of_rtp_proxy.
>
> For whatever reason all calls are passing the RTPProxy.
> - I would like to disable the RTPProxy for calls where I know the
> destination is able to handle NAT.
> - For calls where I know both UAT are behind the same NAT.
> As soon as I update the realm of those clients with whatever
> value beside the ser IP adress, those useres cannot login anymore.
>
> Is this sufficient information - do you need the ser.cfg?
>
> Thanks
> Patrick
>
>
>
*************************************************************************************
The message is intended for the named addressee only and may not be disclosed to or used by anyone else, nor may it be copied in any way.
The contents of this message and its attachments are confidential and may also be subject to legal privilege. If you are not the named addressee and/or have received this message in error, please advise us by e-mailing security(a)colt.net and delete the message and any attachments without retaining any copies.
Internet communications are not secure and COLT does not accept responsibility for this message, its contents nor responsibility for any viruses.
No contracts can be created or varied on behalf of COLT Telecommunications, its subsidiaries or affiliates ("COLT") and any other party by email Communications unless expressly agreed in writing with such other party.
Please note that incoming emails will be automatically scanned to eliminate potential viruses and unsolicited promotional emails. For more information refer to www.colt.net or contact us on +44(0)20 7390 3900.
Hi friends,
I was trying to install Openser and Mediaproxy. but when i am starting media proxy using
/etc/init.d/mediaproxy star
I am getting some error in syslog.
Jan 22 12:18:27 hatifserver4 mediaproxy[14707]: warning: accounting is enabled but the accounting module is missing. accounting is not available!
Jan 22 12:18:27 hatifserver4 mediaproxy[14707]: Listening for commands on local socket `/var/run/mediaproxy.sock'
Jan 22 12:18:27 hatifserver4 mediaproxy[14707]: Listening for remote commands on `212.XXXXXXXXXXXXXx:25060'
Jan 22 12:18:27 hatifserver4 mediaproxy[14707]: Remote commands are allowed from: 212.XXXXXXXXXXXXXXXXXX, 127.0.0.1
Jan 22 12:18:27 hatifserver4 mediaproxy[14707]: Using IP address `XXXXXXXXXXXXX' for the RTP/RTCP proxy
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: Traceback (most recent call last):
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: File "/usr/local/mediaproxy/proxydispatcher.py", line 65, in <module>
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]:
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: import dispatcher
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: File "/usr/local/mediaproxy/modules/dispatcher.py", line 39, in <module>
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]:
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: from accounting import accounting, StopRecordSerializer, UnserializeError
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: File "/usr/local/mediaproxy/modules/accounting.py", line 17, in <module>
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]:
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: from radius import *
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: File "/usr/local/mediaproxy/modules/radius.py", line 10, in <module>
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]:
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: import pyrad.client
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: ImportError
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: :
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: No module named pyrad.client
Jan 22 12:18:27 hatifserver4 proxydispatcher[14710]: exiting.
this is our Mediaproxy.ini file i am not using any kind of accounting or radius in INI file
but i don't kow why it is shwoing accounting is enable
[Dispatcher]
start = yes
socket = /var/run/proxydispatcher.sock
group = openser
defaultProxy = /var/run/mediaproxy.sock
[MediaProxy]
start = yes
socket = /var/run/mediaproxy.sock
group = openser
listen = XXXXXXXXXXXXXx
allow = XXXXXXXXXXXXXXXXXXXXXXXXxx
proxyIP = XXXXXXXXXXXXXXXXXXXXXX
portRange = 20000:65000
TOS = 0xb8
idleTimeout = 60
holdTimeout = 3600
forceClose = 0
accounting = none
[Accounting]
accounting = none
---------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
Which version do you use?
Does it work at all with current version of openser (1.3)?
PS: this is to find out if serweb supported can be removed from openser
regards
klaus
Hi All,
I am a newbie to this list so please forgive me if the question below has
been discussed before. I could not find anything related so i am sending my
query.
I have been looking at the LCR module to do serial forking since we want to
prioritize contacts based on q values. However, we do not want to fork in
parallel to contacts even if they share the same q value. AFAIK,this is
currently not possible with the LCR module.
Would it be a good idea to have a parameter (e.g "append-branches") in the
LCR module which can control the forking behavior when q value of contacts
is the same?
Thanks,
Amit
Hello
I'm using SER with the LCR module and i'm having some "memory leak" problems. I have followed the "Problem Reporting" link in the iptel.org site to send you a report. My question is : In the page you mention that i need to use memlog=2 and debug=3. Is this ok? or i need to run SER with more debug to see the problem and report it?
Second. How do i know if i'm using the last stable, bug free (in theory) version of SER?.
SER -V :
version: ser 0.9.6 (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
@(#) $Id: main.c,v 1.197.2.1 2005/07/25 16:56:24 andrei Exp $
main.c compiled on 07:54:57 Feb 29 2008 with gcc 4.1.2
i have download this version from the FTP site.
I hope someone can help me here.
Thanks in advance.
Regards,
Ricardo Martinez.-
I noticed on version 1.3 (DISPATCHER MODULE) you can set the gateways off
Mysql DB, the question is: will be necessary to restart openser every time I
add/change the gateway's IP on the DB table (Mysql)?
To All,
Thanks for the suggestions.
I have complete a working build from CVS on RH environment.
I had to change my hat which said "Enterprise Tester" and put on the hat
that says "Software Developer" and read thru the code in CVS tree. I
was able to chase down the issues with "db_key_t" and a few other
db things. I discovered that the CVS tree was NOT (as I had expected)
in a state where "everything is in order". I discovered a lot of the DB
material in a state of change between previous generations to the new
2.0 / 2.1 generation.
I took Jiri's suggestion and built a config based on the ser-oof.cfg .
I only got into issues when I added other modules not on that specific
loadmodule list.
I am still waiting for input from the more experienced developers as to
exactly what to include in The Bundle.
I am still hopeful.
Regards, ..mike..
>Date: Fri, 22 Feb 2008 10:59:15 -0500
>To: serusers(a)lists.iptel.org
>From: Mike Trest - Personal <Mike(a)Trest.COM>
>Subject: [Serusers] SIP Express Bundle
>ready-to-go idea, BUILD FROM CVS on RH ?
>
>Hi,
>Followup on prior message:
>
>When doing make .... modules I found a similar
>error that did not involve a system include.
>
>The offending line in avpops_db.h is:
>
>int db_store_avp( db_key_t *keys, db_val_t *vals, int n, char *table);
>
>Both examples below and this example are related to forward declarations
>with pointers to structures.
>
>Regards, ..mike..
>
>
>
>
>
>make[1]: Entering directory `/usr/local/src/ser-2.0.x-CVS/modules/avpops'
>gcc -fPIC -DPIC -g -O9
>-funroll-loops -Wcast-align
>-minline-all-stringops -falign-loops
>-ftree-vectorize
>-mtune=athlon64 -Wall -DNAME='"ser"'
>-DVERSION='"2.1.0-dev17-tcp"' -DARCH='"i386"'
>-DOS='linux_' -DOS_QUOTED='"linux"'
>-DCOMPILER='"gcc 4.1.1"' -D__CPU_i386
>-D__OS_linux -DSER_VER=2001000
>-DCFG_DIR='"/usr/local/etc/ser/"'
>-DMODS_DIR='"/usr/local/lib/ser/modules/"'
>-DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK
>-DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE
>-DHAVE_RESOLV_RES -DUSE_DNS_CACHE
>-DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST
>-DUSE_NAPTR -DUSE_TLS -DTLS_HOOKS -DFAST_LOCK
>-DADAPTIVE_WAIT
>-DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM
>-DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN
>-DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL
>-DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H
>-DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER
>-DHAVE_EPOLL -DHAVE_SIGIO_RT
>-DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -c avpops.c -o avpops.o
>In file included from avpops_impl.h:41,
> from avpops_parse.h:38,
> from avpops.c:50:
>avpops_db.h:66: error: expected â)â before â*â token
>make[1]: *** [avpops.o] Error 1
>make[1]: Leaving directory `/usr/local/src/ser-2.0.x-CVS/modules/avpops'
>make: *** [modules] Error 1
>
>
>========================================================================
>Hi,
>I am doing a ser build from CVS check-out on a RH based linux with gcc 4.1.1.
>The build commands are this.
>make clean
>make proper
>make group_include="standard standard-dep stable mysql"
>When I get to any core or module section code
>which included futexlock.h header, I get the following:
>
>gcc -g -O9 -funroll-loops -Wcast-align
>-minline-all-stringops -falign-loops
>-ftree-vectorize -mtune=athlon64
>-Wall -DNAME='"ser"'
>-DVERSION='"2.1.0-dev17-tcp"' -DARCH='"i386"'
>-DOS='linux_' -DOS_QUOTED='"linux"'
>-DCOMPILER='"gcc 4.1.1"' -D__CPU_i386
>-D__OS_linux -DSER_VER=2001000
>-DCFG_DIR='"/usr/local/etc/ser/"'
>-DMODS_DIR='"/usr/local/lib/ser/modules/"'
>-DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK
>-DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE
>-DHAVE_RESOLV_RES -DUSE_DNS_CACHE
>-DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST
>-DUSE_NAPTR -DUSE_TLS -DTLS_HOOKS -DFAST_LOCK
>-DADAPTIVE_WAIT
>-DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM
>-DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN
>-DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL
>-DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H
>-DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER
>-DHAVE_EPOLL -DHAVE_SIGIO_RT
>-DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -c core_cmd.c -o core_cmd.o
>In file included from mem/../futexlock.h:48,
> from mem/../lock_ops.h:85,
> from mem/shm_mem.h:76,
> from core_cmd.c:32:
>/usr/include/linux/futex.h:96: error: expected â)â before â*â token
>/usr/include/linux/futex.h:98: error: expected â)â before â*â token
>make: *** [core_cmd.o] Error 1
>=========================================================================
>
>The offending lines came from the system
>header <futex.h>. The offending lines are:
>
>long do_futex(u32 *uaddr, int op, u32 val,
>unsigned long timeout, u32 *uaddr2, u32 val2, u32 val3);
>
>extern int handle_futex_death(u32 *uaddr, struct task_struct *curr, int pi);
>
>By pointing to an alternate version of <futex.h>
>where these lines are commented out
>I can compile all the way thru with non-fatal warnings.
>
>My questions are:
>1) can anyone tell me what are the equivalent lines in the DEB version where
>this code/compile was most recently developed?
>2) has anyone got a fix for this error?
>
>..mike..
>
>
>
>
>_______________________________________________
>Serusers mailing list
>Serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers