Hello all,
Newbie question (apologies if this has been asked already):
I have been asked to upgrade an existing SER 0.8.14 to 0.9.4, or at
least to investigate a possible upgrade path. This particular
installation has quite a large number of users (about 550) in MySQL, so
naturally an upgrade needs to be planned rather carefully. Is there any
issues that I need to be aware of (like MySQL schema changes or similar
major challenges) in order to affect an upgrade where no membership
details are lost? Has anybody here done this successfully?
Thanks for your patience and time.
--
Regards,
Jan Henkins
Anyone have a comment on the problem that I observe in which the mediaproxy
receives a request for a session with a media description that has a new
(rather than additional) connection address, but does not act upon it? Is
there continuing work going on for this module?
Here is my latest code which seems to solve the problem of a simple
1-audio-session call, while attempting to preserve the existing video add-on
capability. Please excuse the clumsiness of the code as I am new to python.
While it doesn't solve the general SDP management case, it does solve the
simple and most common case of 1 audio stream. If the project leadership
thinks this is useful, I can come up with a more complete solution and submit
the code. However, if there is already ongoing work in this area, I don't want
to duplicate the effort.
Thanks,
- Joel
# class RTPSession
def updateStreams(self, sessionData):
print "updateStreams"
streams = [s.split(':') for s in sessionData[2].split(',')]
streamCount = len(self.mediaStreams)
if streamCount < len(streams):
# Add one media session.
print "Adding Streams"
visibleIP = sessionData[3]
asymmetric = self.callerInfo.get('asymmetric', 0)
for sinfo in streams[streamCount:]:
try:
mediatype = sinfo[2]
except IndexError:
mediatype = 'Audio'
# remove at a later time
print("warning: SER is using an old mediaproxy.so module. "
"Please upgrade it to get correct media type
information.")
try:
stream = MediaStream(self, mediatype)
except MediaStreamError:
# check this. also at session creation
#for stream in self.mediaStreams:
#stream.close()
raise RTPSessionError, "cannot find enough free ports for
the media streams"
stream.setCaller(sinfo, visibleIP, asymmetric)
self.mediaStreams.append(stream)
self.oldCount = streamCount
self.needStreamUpdate = 1
sinfo = streams[0]
print "updateStreams checking for same media"
# if sinfo[0] ==
self.mediaStreams[0].rtpStream.caller.__v.contactIP
# if sinfo[1] ==
self.mediaStreams[0]rtpStream.caller.__v.rtpPort
# # No change to media
# return
# Media changed.
print "Media IP:port is %s:%s" % (sinfo[0], sinfo[1])
visibleIP = sessionData[3]
asymmetric = self.callerInfo.get('asymmetric', 0)
self.mediaStreams[0].rtpStream.caller = None
self.mediaStreams[0].setCaller(sinfo, visibleIP, asymmetric)
print "updateStreams returning"
--- Joel Rosenfield <joelrosenfield(a)yahoo.com> wrote:
> Date: Tue, 15 Nov 2005 08:31:00 -0800 (PST)
> From: Joel Rosenfield <joelrosenfield(a)yahoo.com>
> To: serusers(a)lists.iptel.org
> Subject: [Serusers] mediaproxy module: RTP packet mapping after reINVITE
> with new SDP
>
> As I am new to this list, please tell me if there is a more appropriate list
> to
> which I should post this question.
>
> Does the mediaproxy handle changes in the media description within the same
> call dialog? If not, are there plans to do so?
>
>
> Here is what I have done:
>
> I am using the SER mediaproxy module v1.4.2 and a co-located proxydispatcher
> and mediaproxy to accomplish NAT traversal between a 3PCC and an remote ATA.
> All basic call scenarios work fine. However, when the module receives a
> reINVITE to reconnect the ATA to a different party, the mediaserver fails to
> forward the RTP packets between the ATA and party described in the new SDP.
>
> I saw in the mediaproxy logs that RTP packets had been received from both
> sides, but the signIn method was being invoked as "called" for both parties.
>
> I explored the rtphandler.py and saw that the "catchall" clause at the end of
> RTPStream.handle_read was being invoked as you can see by the debug statement
> that I added to the code. It appears that this is invoked because both
> parties
> had already signed in based upon the previous media description, so none of
> the
> other mapping/forwarding clauses are invoked.
>
> It seems that there needs to be a mechanism to clear the mappings when the
> mediaproxy receives a "request" command for the same session (based upon the
> SIP Call-ID) but a new SDP. I got it work by adding code to the beginning of
> RTPSession.updateStreams() that clears the list "mediaStreams" and letting
> the
> rest of the code in that method recreate the mappings from scratch. See the
> attached file containing the code, a mediaproxy log before the change, and a
> log from after the change.
>
> Although this works, the solution is a bit incomplete since it can cause
> brief
> interruptions in the RTP stream when a reINVITE is received that does not
> include an SDP change, etc.
>
> Please let me know if there is something I am missing with respect to how I
> should using the mediaproxy.
>
> Thanks,
> - Joel Rosenfield
>
>
>
> __________________________________
> Yahoo! FareChase: Search multiple travel sites in one click.
> http://farechase.yahoo.com> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
__________________________________
Start your day with Yahoo! - Make it your home page!
http://www.yahoo.com/r/hs
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Hi guys,
I'm only just getting started with OpenSer 1.0.0 (from the tarball) and
I'd like to use the dbtext option. However, it seems the sc.dbtext
doesnt really generate good files. OpenSER reports:
0(0) AUTH module - initializing
0(0) AUTH_DB module - initializing
Content of [version]
table_name(str) table_version(int)
subscriber:3
location:6
aliases:6
Content of result
table_version(int)
3
Content of result
table_version(int)
6
0(0) register_udomain(): Invalid table version (use ser_mysql.sh
reinstall)
0(0) domain_fixup(): Error while registering domain
ERROR: error -1 while trying to fix configuration
I've used the template database files Daniel provided as well, they
result in the same fault.
openser.cfg notes:
modparam("usrloc", "db_mode", 2)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "user_column", "username")
modparam("auth_db", "domain_column", "domain")
modparam("usrloc|auth_db", "db_url", "dbtext:///ext/pbx/lib/openser/dbtext")
I'm probably using wrong database files, but I couldn't find any proper
samples so far. Suggestions anyone ?
Thanks,
Florian
Hi there
I have installed SER 9.4 with MYSQL 4.0.25. I am having trouble with
mysql.so. As soon as I activate it in the ser.cfg ser will not start. I have
noted that it is not instaledl in the modules directory. I have also run the
following to try and include it in making them:
make modules include_modules="mysql"
make install include_modules="mysql"
As per the documentation I need to get ser-mysql but the rpm versions do not
find the ser module.
What can I do to get mysql.so on the server?
Please help,
Colin Jordan
DISCLAIMER: The information in this message is confidential and is legally
privileged. It is intended solely for the addressee. Access to this message by
anyone else is unauthorized.If receiving in error please accept our apologies
and notify the sender immediately. You must also delete the original
message from your machine. If you are not the intended recipient, any use,
disclosure, copying, distribution or action taken in reliance of it, is prohibited
and maybe
unlawful.
Dear friends,
I am trying to get two SIP User Agents behind a single router device to
be able to
call each other. But the signaling doesn't work because they both
contend for the
same signaling port 5060 on the router device.
Is it possible to have ser listen on multiple signaling ports such as
5060, 5061, 5062, etc
rather than the single port 5060?
Thanks
rmain
Hello, I have SER in bridging mode with two IPs (private and public).
To dial the world, my Cisco IP phones must contact the SER private IP,
and the call is then proxyed by SER.
All other SIP clients can do it, but the Cisco phones dont....
What should I put in the configuration file?
For now I have this:
# NAT/Firewall Traversal
nat_enable: 1
nat_address: ""
voip_control_port: 5060
start_media_port: 8000
end_media_port: 9000 nat_received_processing: 0
...but I m not really using NAT, because, for the phones, the call just
goes to the private SER IP, and they dont know nothing besides that.
Does someone have a setup like this with Cisco phones?
Thanks
Joao
Hi,
I would like to add some extra header fields with avp_pushto into the
received SIP message before I call exec_dset. My tests show that added
header fields cannot read from environment variables. Shortly I would
like to use an external script to manipulate ruri based on AVPs received
from radius (eg. rpid).
Can I do this without sql or radius request from external script ?
regards,
imedve
THAT'S not too bad.
Basically, what they dial will be the RURI.
So if they dial *21*1*5551212 your SIP RURI becomes sip:*21*1*5551212@your.server
All you'd need is a check for the URI and then strip out the unnecessary bits
and use something like an AVPop to store the db info... something like:
(note, I'm just tossing stuff out for an idea... this syntax may be completely
wrong)
if(uri =~ "^sip:\*21\*1")
{
strip(6);
avp_write("$ruri","i:19");
....
avp_db_store("$from/username", "i:19/usr_preferences");
};
Or some such (as I say, I'm playing loose and fast with syntax here)...
N.
On Wed, 16 Nov 2005 17:30:16 +0200, Kyriakos Mavromichalis wrote
> Hi,
> actually I was thinking that users would press *21*1*number to
> forward to , number would be stored to database. For disabling it
> could be something like *21*2 , which in that case , the record in
> db with the call forwarding option for the user who sent the message
> would be deleted. The problem is how do i write and delete in the
> usr_preferences table from the ser.cfg file? Of course the users
> will also have the option of enabling call forwarding from a web
> interface but adding this its much more practical.
>
> K.
>
> On Wednesday 16 November 2005 16:47, you wrote:
> > If you do a search on the list, I THINK I posted a way to do call
> > forwarding (the way I was doing it anyway)... there are likely other ways.
> > How are you going to take input for the forwarding, though?
> >
> > Will they dial *21 and it will forward to something they've predefined on a
> > website somewhere? Will they dial *21 and then the number to which they
> > want to forward? How do you turn it off? Etc, etc.
> >
> > N.
> >
> >
> > On Wed, 16 Nov 2005 16:44:15 +0200, Kyriakos Mavromichalis wrote
> >
> > > Can someone point me to any resources on how to implement services
> > > like callforwarding by pressing *21 through the users' UA?
> > > Basically I need my users to be able to activate different services
> > > via the phone's keys.
> > >
> > > thank you
> > > --
> > > Kyriakos Mavromichalis
> > > Otenet Telecom
> > >
> > > _______________________________________________
> > > Serusers mailing list
> > > serusers(a)lists.iptel.org
> > > http://lists.iptel.org/mailman/listinfo/serusers
>
> --
> Kyriakos Mavromichalis
> Otenet Telecom
Hi
Im using Cisco IP 7940 (with SIP firmware) and I want to force him to
put the media stream in some specific port.
To do it I put this in the Cisco configuration file:
start_media_port: 8000
end_media_port: 9000
but the Cisco IP phone boots and doesnt accept these ports, and assumes
the defaults (16384-32766).
Even when I put these ports directly in the phone configuration, he
doesnt accept them.
How can I change the RTP ports in the Cisco IP phone?
( Like in Xlite we do: "System Settings"-> "Network" -> "Listen RTP port" )
Thanks
Joao Pereira