Hi all,
Did anyone have encountered these error codes?
Error: str2i(AmUtils.cpp:149):str2i:unexpected char R in RTP/AVP 97409
Error: parse_sdp_media(AmSdp.cpp:549)while parsing 'm=audio' line
Error: 400 session description parsing failed.
pthread_detach failed with code EINVAL:thread already in detached state
Error: reply(AmRequest.cpp:335):AmRequestUAS::reply:400 fifo_t_reply:to-ta expected
Error: writeToBuffer(IsdnCapiConnection.cpp:544):Warning:dropping data, try increase AUDIO_BUFFER_LEN...
Error: changeSIPState(IsdnCall.cpp:339):unhandled SIP state transition(inbound) from (DISCONNECTED|DISCONNECTED) to (CONNECTED|DISCONNECTED)
Thanks
Regards,
jorain
Dear Roland,
I think that DB.php is missing, So, you need DB.php packet.
You can download it from http://pear.php.net
For the installation, you can type # pear <name of the packet>
There is also many tutorials about it in that web.
I do hope this can help you. :)
Thank you
Regards,
Ferianto
Message: 4
Date: Fri, 22 Sep 2006 07:43:16 +0800
From: Ronald Wiplinger
Subject: [Users] serweb: DB.php is missing on my system
To: Openser
Message-ID: <45132394.8040309(a)elmit.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
[Fri Sep 22 06:54:42 2006] [error] [client 192.168.250.108] PHP
Warning: require_once(DB.php) [href='function.require-once'>function.require-once]: failed to open
stream: No such file or directory in
/srv/www/serweb/html/main_prepend.php on line 38
[Fri Sep 22 06:54:42 2006] [error] [client 192.168.250.108] PHP Fatal
error: require_once() [href='function.require'>function.require]: Failed opening required
'DB.php' (include_path='.:/usr/share/php5:/usr/share/php5/PEAR') in
/srv/www/serweb/html/main_prepend.php on line 38
# locate DB.php
/usr/share/php5/PEAR/PEAR/DependencyDB.php
How can I get it?
In the meantime I have tried to turn off loging in config.php:
$config->enable_loging = false;
$config->log_file = "/var/log/serweb";
but get still the same error.
SuSE 10.1 installed pear5 (there is no 'pear')
# pear5 list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
PEAR 1.4.6 stable
# pear5 list-all
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried
to allocate 8208 bytes) in /usr/share/php5/PEAR/PEAR/Registry.php on
line 1048
What do I need to do?
bye
Ronald
------------------------------
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
End of Users Digest, Vol 16, Issue 54
*************************************
---------------------------------
Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small Business.
Dear all,
First I would like to say thanks to every body in this forum. Thank you very much..
All, I am sorry for my message again. Sorry for the long message.
I am in rush and panic. I have read the instruction in tls.htm about TLS configuration many times. But, Untill now, I can not build it. Maybe because of my lack understanding and skill.
When I run "netstat -anp|grep 5061", I got this output message :
[root@localhost root]# netstat -anp|grep 5061
tcp 0 0 202.95.149.251:5061 0.0.0.0:* LISTEN
5099/openser
[root@localhost root]# netstat -anp|grep 5060
tcp 0 0 202.95.149.251:5060 0.0.0.0:* LISTEN
5099/openser
udp 0 0 202.95.149.251:5060 0.0.0.0:*
5099/openser
From the output, I can see that the port 5061 (for TLS) can be loaded.
But, why when I run "ngrep -d any...", there is no port 5061?
Here is the output
U 202.95.149.3:5060 -> 202.95.149.251:5060
..
####
T 127.0.0.1:32804 -> 127.0.0.1:631 [AP]
POST / HTTP/1.1..
##
T 127.0.0.1:32804 -> 127.0.0.1:631 [AP]
Content-Length: 220..
##
T 127.0.0.1:32804 -> 127.0.0.1:631 [AP]
Content-Type: application/ipp..
##
T 127.0.0.1:32804 -> 127.0.0.1:631 [AP]
Host: localhost..
##
T 127.0.0.1:32804 -> 127.0.0.1:631 [AP]
..
##
T 127.0.0.1:32804 -> 127.0.0.1:631 [AP]
........
##
T 127.0.0.1:631 -> 127.0.0.1:32804 [AP]
HTTP/1.1 200 OK..
#
T 127.0.0.1:631 -> 127.0.0.1:32804 [AP]
Date: Fri, 22 Sep 2006 08:10:21 GMT..
##
T 127.0.0.1:631 -> 127.0.0.1:32804 [AP]
Server: CUPS/1.1..Connection: Keep-Alive..Keep-Alive: timeout=60..Content-Language: C..Content-Type: application/ipp; ch
arset=iso-8859-1..Content-Length: 81.............G..attributes-charset..utf-8H..attributes-natural-language..en-us.utf-8
.
What should I do? Please help me..Please give me a suggestion.
These are the tasks that I have done before :
1. I have added in DNS Records :
pcr.ac.id IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.pcr.ac.id. pcr.ac.id IN NAPTR 60 40 "s" "SIP+D2T" "" _sip._tcp.pcr.ac.id.
pcr.ac.id IN NAPTR 60 60 "s" "SIP+D2U" "" _sip._udp.pcr.ac.id
2. Here is my openser.cfg configuration :
debug=9
fork=no
log_stderror=yes
listen=202.95.149.251 # put your openserver IP address here
port=5060
children=4
dns=no
rev_dns=no
fifo="/tmp/openser_fifo"
fifo_db_url="mysql://openser:openserrw@localhost/openser"
fifo_mode=0666
alias="pcr.ac.id"
tls_port_no=5061
# uncomment the following lines for TLS support
disable_tls = 0
listen = tls:202.95.149.251:5061
#listen = udp:202.95.149.251:5060
tls_verify_client = on
tls_require_client_certificate = on
tls_verify_server=on
tls_method = TLSv1
tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/uri_db.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/permissions.so"
modparam("auth_db|permissions|uri_db|usrloc","db_url", "mysql://openser:openserrw@localhost/openser")
modparam("auth_db|uri_db|usrloc", "db_url", "mysql://openser:openserrw@localhost/openser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
modparam("usrloc", "db_mode", 2)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
modparam("tm", "fr_inv_timer", 27)
modparam("tm", "fr_inv_timer_avp", "s:inv_timeout")
modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
return;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
return;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method!="REGISTER") {
record_route();
};
if (method=="BYE" || method=="CANCEL") {
unforce_rtp_proxy();
}
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
if (has_totag() && (method=="INVITE" || method=="ACK")) {
if (nat_uac_test("19")) {
setflag(6);
force_rport();
fix_nated_contact();
};
force_rtp_proxy("l");
};
route(1);
return;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri!=myself) {
route(5);
route(1);
return;
};
if (uri==myself) {
if (method=="ACK") {
route(6);
return;
} else if (method=="CANCEL") {
route(3);
return;
} else if (method=="INVITE") {
route(3);
return;
} else if (method=="REGISTER") {
route(2);
return;
};
lookup("aliases");
if (uri!=myself) {
route(5);
route(1);
return;
};
if (!lookup("location")) {
sl_send_reply("404", "Uopenser Not Found");
return;
};
};
route(1);
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" && isflagset(6)) {
unforce_rtp_proxy();
};
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!search("^Contact:\ +\*") && nat_uac_test("19")) {
setflag(6);
fix_nated_register();
force_rport();
};
if (!www_authorize("pcr.ac.id","subscriber")) {
www_challenge("pcr.ac.id","0");
return;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
return;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# CANCEL and INVITE Message Handler
# -----------------------------------------------------------------
if (nat_uac_test("19")) {
setflag(6);
}
#if (!allow_trusted() && nat_uac_test("19")) {
# setflag(6);
#}
lookup("aliases");
if (method=="INVITE" && !allow_trusted())
{
if (!proxy_authorize("pcr.ac.id","subscriber")) {
proxy_challenge("pcr.ac.id","0");
return;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
return;
};
consume_credentials();
};
if (uri=~"^sip:9[0-9]*@") {
route(4);
return;
};
if (uri!=myself) {
route(5);
route(1);
return;
};
if (!lookup("location")) {
if (uri=~"^sip:[0-9]{10}@") {
route(4);
return;
};
sl_send_reply("404", "Uopenser Not Found");
return;
};
if (method=="CANCEL") {
route(1);
return;
}
if (isflagset(6)) {
force_rport();
fix_nated_contact();
force_rtp_proxy();
};
t_on_reply("1");
if (!t_relay()) {
if(isflagset(6)) {
unforce_rtp_proxy();
}
sl_reply_error();
};
}
route[4] {
# -----------------------------------------------------------------
# PSTN Handler
# -----------------------------------------------------------------
rewritehostport("202.95.149.254:5060"); # INOPENSERT YOUR PSTN GATEWAY IP ADDRESS
# avp_write("i:45", "inv_timeout");
#if (!allow_trusted() && isflagset(6)) {
if (isflagset(6)) {
force_rport();
fix_nated_contact();
force_rtp_proxy();
};
route(1);
}
onreply_route[1] {
if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {
if (!search("^Content-Length:\ +0")) {
force_rtp_proxy();
};
};
if (nat_uac_test("1")) {
fix_nated_contact();
};
}
What should I add in openser.cfg? Please help..Please..
Thank you very much,
Regards,
Ferianto
---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail.
Hi guys,
Could final get the call thru both the SER poxies. Thanks for all the tips.
Sharon Abraham
Network Engineer
Afila Tech India (p) Ltd
www.afila.com
I've added the following lines to my ser.cfg file:
###################
modparam("usrloc", "use_domain", 1) #If the domain part of the user
should be also saved and used for identifing the user (along with the
username part). Useful in multi domain scenarios. Non 0 value means true.
modparam("registrar", "use_domain", 1) # If set to 1 then the registrar
will use username@domain as address of record. If the variable is set to
0 then only username will be used as the address of record. Default
value is 0.
###################
I've added 2 diferent domains to the domain table, and got different
phones registered with those different domains.
Although, after editing that way ser.cfg file, my phones still register
in Ser, but none of them can call any other, even if I call someone only
by username or by username@domain.
Am I in the right path to configure a multi-domain Ser server? What else
should I do to make things work fine?
Regards,
Ricardo.
The client should be then fixed or exchanged. It is not yet a BCP RFC or so,
but it should be soon. In the meantime it is just an informal but important
practice to build clients in a symmetric way. I'm actually aware of few
that are not build this way.
-jiri
At 18:12 20/09/2006, Andrey Kuprianov wrote:
>Just looked up the code to make sure... :) It's definitely assymetric!
>Thanks Vamsi!!!
>
>On 9/20/06, Vamsi Pottangi <vamsipottangi(a)gmail.com> wrote:
>>
>>Symmetric client uses the same port to send and receive messages.
>>
>>
>>On 9/20/06, Andrey Kuprianov <andrey.kouprianov(a)gmail.com > wrote:
>>> Forgive my ignorance. I know the term "symmetric client", but i dont
>>> really know what that means. Can u please explain or just give me some
>>> doc/rfc to read? :)
>>>
>>> Andrey.
>>>
>>> On 9/20/06, Vamsi Pottangi < vamsipottangi(a)gmail.com> wrote:
>>> >
>>> > Is your application symmetric?
>>> >
>>> >
>>> > On 9/20/06, Andrey Kuprianov < andrey.kouprianov(a)gmail.com> wrote:
>>> > >
>>> > Hi,
>>> >
>>> > Im facing this problem for a few days already. Hope someone might have
>>> > an idea or two. It's a long email too, btw.
>>> >
>>> > Im testing my app behind NAT's with SER-0.9.6 + mediaproxy + Asterisk
>>> > (conf server). While X-Lite works *fine* and I get 2 way audio always,
>>> > my app seems to have some kind of weird bug and I end up with 1 way
>>> > audio stream.
>>> >
>>> > Here's the thing. Application starts receiver and transmitter on
>>> > completely different ports. Here's SDP for remote and local machines
>>> > (public IP's been x'ed by myself, of course):
>>> >
>>> > This one's sent in INVITE message to SER ==>
>>> > 69563 DEBUG media.MediaManager - Local SDP: (this one's from local
>>machine)
>>> > v=0
>>> > o=xps 1158739216750 1158739216757 IN IP4 192.168.1.3
>>> > s=MC
>>> > c=IN IP4 192.168.1.3
>>> > t=0 0
>>> > m=audio 25000 RTP/AVP 0 8
>>> > a=rtpmap:0 PCMU/8000
>>> > a=rtpmap:8 PCMA/8000
>>> > a=sendrecv
>>> >
>>> > This one's sent with 200 OK from SER ==>
>>> > 69563 DEBUG media.MediaManager - Remote SDP:
>>> > v=0
>>> > o=root 2500 2500 IN IP4 203.159.x.x
>>> > s=session
>>> > c=IN IP4 203.159.x.x
>>> > t=0 0
>>> > m=audio 30004 RTP/AVP 0 8
>>> > a=rtpmap:0 PCMU/8000
>>> > a=rtpmap:8 PCMA/8000
>>> > a=silenceSupp:off - - - -
>>> >
>>> > The further log shows that transmitters and receivers have started on
>>> > the proper IP/port ==>
>>> >
>>> > 69594 DEBUG media.AVReceiver - Start listening for RTP @ addr:
>>> > 192.168.1.3 port: 25000 ttl: 1
>>> > 69657 DEBUG media.AVTransmitter - Created transmitter for:
>>> > [203.159.x.x] at ports: [30004] encoded as: [[ULAW/rtp, alaw]]
>>> > 69657 DEBUG media.MediaManager - Starting transmission
>>> > 69672 DEBUG media.AVTransmitter - Track 0 is set to transmit as:
>>> > ULAW/rtp, 8000.0 Hz, 8-bit, Mono, FrameSize=8 bits
>>> > 69860 INFO media.AVTransmitter - Binded to port 30004
>>> > 69875 DEBUG media.AVTransmitter - Started transmitting track 0 encoded
>>> > as ULAW/rtp @ [203.159.x.x]:30004
>>> >
>>> > Nevertheless, the Ethereal capture shows that mediaproxy sends the
>>> > stream NOT to port 25000 (local port), but to port 30004 (remote
>>> > port)!! Why? This is not the case with X-Lite, however. Xlite captures
>>> > show that streams are sent to proper ports always. Btw, Im attaching
>>> > SIP+RTP Ethereal captures with this mail. Please, take a look.
>>> >
>>> > I also want to mention, that this doesnt happen with my app. for all
>>> > the NATed nets. In some nets it works fine, but not in this one. Just
>>> > weird.
>>> >
>>> > Please, let me know if anyone has ideas or hints regarding this nonsence
>>:)
>>> >
>>> > Bests,
>>> >
>>> > Andrey.
>>> >
>>> >
>>> > _______________________________________________
>>> > Serusers mailing list
>>> > Serusers(a)lists.iptel.org
>>> > http://lists.iptel.org/mailman/listinfo/serusers
>>> >
>>> >
>>> >
>>> >
>>> >
>>> _______________________________________________
>>> Serusers mailing list
>>> Serusers(a)lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>
>_______________________________________________
>Serusers mailing list
>Serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
Hi
I currently have a single SER server using MySQL for data storage. Due
to the number of users I now have and to help redundancy I want to setup
another SER server.
I have search the web and have not been able to find a tutorial on this
so I hope someone on this list can help.
I need the SER servers to at least know about the location of clients
registered with each server. Therefore can I point both servers at the
same MySQL and for them to share the data?
Are there any issues around this strategy? Is there another way to
accomplish what I want?
Regards
Jon
--
Jon Farmer
Telford, Shropshire, UK
I'm doing an experiment with our userbase at the moment, making some
modifications to allow more users to register than who'd been allowed to
register before (to minimise the amount of bandwidth we need to use for our
services, we are trying to absolutely minimise the number of users that
require the use of an RTPproxy, since, in a userbase of 100,000 users, this
can be rather pricey if there are too many of them which require it).
We used to not allow anyone with a contact header that was NOT a public IP
address to register onto the system, with the assumption that they could use
STUN and it SHOULD rewrite the contact header. This assumption has proven to
be... optimistic. Several of the UAs we see show radically different
characteristics during this 'open' trial, and I'm not sure if they're just
differing STUN versions or if our users simply can't follow the
install/configure instructions.
SO... my question becomes: what are the characterstics of functioning STUN
implementations and how they should overwrite contact/via/sdp headers for the
UA's messages?
Most every one of the STUN implementations I've seen rewrites the Contact
header and the data inside the O and C lines in the SDP header. Most of them
seem to overwrite the Via headers with valid information as well, although not
all of them do.
What are some other things I should be looking for?
I'm trying to essentially test for a particular variant of STUN, allowing
users who've at least followed the instructions to the letter to have working
and usable clients (perhaps using RTP proxy where needed) while not allowing
users who're still attempting to use private IPs for everything to waste our
bandwidth because they're not following the instructions or they're using a UA
that is, in effect, broken in its implementation.
This is a lot more complex than it sounds, I know, but I think if I have more
data to work with, I might be able to come up with a more acceptable scenario
than we currently employ.
N.
Hello ,
has anyone any experience on testing SER with SIPP ??
I've sent the following mail to sipp-users mailing list, I'm sending it
also here, in case anyone has any idea or experience.
----------------------------------------------------------------------------------------------------
Hello all,
I run the basic UAC senario in Host A (1.1.1.1) and the basic UAS senario in Host B (2.2.2.2).
I have a SER SIP Proxy in the middle (3.3.3.3).
UAC :
./sipp -sn uac -r 1 -m 1 -d 5000 -i 1.1.1.1 3.3.3.3
UAS :
./sipp -sn uas
SER.cfg :
I use the following hack in ser.cfg, because the default user 'service' is not
actually registered in Location DB.
# In INVITE handler ..
...
# --- SIPP hack ---
if (uri =~ "^sip:service@3.3.3.3:5060") {
rewritehostport("2.2.2.2:5060");
route(1);
break;
};
# -----------------
# In MAIN Route Block
# ---------------------
Nothing changed from 'default SER behaviour' :
if ((method != "REGISTER") && (method != "OPTIONS")) {
log(1, " Add RR");
record_route();
};
if (loose_route()) {
route(1);
break;
};
Where is the problem :
It seems that SER doesn't recognize (in the dialog) the ACK sent by the UAC (Host A),
do does not relay it to the UAS. The UAS continues to send '200 OK'... so I can't make it
to have a 'full call setup simulation senario'.
Call Flow :
HOST A (UAC) SER HOST B (UAS)
-----------> (1) INVITE
<----------- (2) 100 Trying
--------------> (3) INVITE
<------------- (4) 180 Ringing
<----------- (5) 180 Ringing
<------------- (6) 200 OK
<----------- (7) 200 OK
-----------> (8) ACK
<------------- (9) 200 OK
-----------> (10) ACK
....
....
The first ACK (8) from UAC to SER doesn't relayed to UAS,
so UAS keeps sending '200 OK'...
This ACK doesn't go through the 'loose_route()' block because SER thinks
that this ACK is not in the dialog.
Even if I add the following code in MAIN route block,
SER insists to absorb this ACK request.
...
} else if (method == "ACK") {
# ACK mesgs --> route[1]
log(1," * ACK -- not in the DIALOG --");
route(1);
break;
} else if ...
Do you find something wrong in SER conf ?
or do you have any idea why this happening ?
----------------------------------------------------------------------------------------------------
thanks in advance for any hint.
Kostas