I guess this is the proper terminology I am looking for.
I have an Asymmetric UA and an Symmetric UA that I amtrying to connect through SER and Mediaproxy.
The Asymmetric UA does not register, rather it is on the LAN and is completely accessible to SER. The Symmetric UA however is on the internet and would likely be going through a NAT--hence the need for SER.
The problem that I am having is that SER and Mediaproxy are ignoring the SDP info from the Asymmetric UA and sending the RTP stream from the Symmetric UA back to the same port that the Asymmetric UA sent from.
Any ideas on how I can get Mediaproxy and SER be selective about how it sends the RTP stream to the unregistered Asymmetric UA?
Thanks again.
George
Hi,
I found the problem is that the new ser_mysql.sh did not create a subscriber entry in its version table. Now I am trying to use admin/heslo to login and got 500 internal server error. Here is the log:
Feb 17 17:31:46 localhost ./ser[9700]: parsing accept header: application/watcherinfo+xml
Feb 17 17:31:46 localhost ./ser[9700]: winfo_implicit_auth(sip:admin@10.1.104.254): enabled for sip:admin@10.1.104.254
Feb 17 17:31:46 localhost ./ser[9700]: handle_subscription about to return 1: w->event_package=2 w->accept=196618 p->flags=4 w->flags=1 w=0xb61c33e4
Feb 17 17:31:47 localhost pam_timestamp_check: pam_timestamp: `/' owner UID != 0
Feb 17 17:31:52 localhost ./ser[9708]: ! unregistering callback to admin, 0xb61c3048
Feb 17 17:31:52 localhost ./ser[9708]: ! unregistered callback to admin, 0xb61c3048
Feb 17 17:31:52 localhost pam_timestamp_check: pam_timestamp: `/' owner UID != 0
Feb 17 17:32:27 localhost last message repeated 7 times
Feb 17 17:32:31 localhost ./ser[9701]: new_presentity_no_wb=0xb61c3048 for uri=sip:admin@10.1.104.254 uuid=admin
Feb 17 17:32:31 localhost ./ser[9701]: ! registering callback to admin, 0xb61c3048
Feb 17 17:32:31 localhost ./ser[9701]: read_presentity(ns=urn:ietf:params:xml:ns:pidf)Feb 17 17:32:31 localhost ./ser[9701]: read_tuple()
Feb 17 17:32:31 localhost ./ser[9694]: parsing accept header: application/watcherinfo+xml
Feb 17 17:32:31 localhost ./ser[9694]: winfo_implicit_auth(sip:admin@10.1.104.254): enabled for sip:admin@10.1.104.254
Feb 17 17:32:31 localhost ./ser[9694]: handle_subscription about to return 1: w->event_package=2 w->accept=196618 p->flags=5 w->flags=1 w=0xb61c33e4
Feb 17 17:32:32 localhost pam_timestamp_check: pam_timestamp: `/' owner UID != 0
Feb 17 17:32:33 localhost ./ser[9707]: submit_query: Unknown column 'flags' in 'field list'
Feb 17 17:32:33 localhost ./ser[9707]: db_query: Error while submitting query
Feb 17 17:32:33 localhost ./ser[9707]: auth_db:get_ha1: Error while querying database
Feb 17 17:32:37 localhost pam_timestamp_check: pam_timestamp: `/' owner UID != 0
Can someone please shed light on this?
- ming
Yi Zheng <yizheng(a)sbcglobal.net> wrote:
Date: Fri, 17 Feb 2006 15:28:18 -0800 (PST)
From: Yi Zheng <yizheng(a)sbcglobal.net>
To: ser sip <serusers(a)lists.iptel.org>
Subject: [Serusers] Invalid table version AGAIN
I was able to have SER working with MySql database. I can see the location table updated with the registered users.
However if I add the following line to ser.cfg to use digest authentication and restart ser, then I saw the following errors in /var/log/messages and ser failed to start.
ser.cfg
----------
# Uncomment this if you want to use digest authentication
if (!www_authenticate("10.1.104.254", "subscriber")) {
www_challenge("10.1.104.254", "0");
break;
};
/var/log/messages:
--------------------------
Feb 17 16:25:39 localhost ./ser[32533]: authdb_fixup: Invalid table version (use ser_mysql.sh reinstall)
Feb 17 16:25:39 localhost ./ser[32533]: ERROR: fix_expr : fix_actions error
I am using the presence server snapshot. There is no reinstall for this version of ser_mysql.sh. And I made no change to the database or version table. So what is it complaining? I found this strange.
- ming
_______________________________________________
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
Hi Group,
After some search I found exec_msg return false, if return value of
script does
not equals zero, so from shell script I must collect java program output and
based on that I must return some value.
Thanks,
Manoj.
>
> Quoting mkumar(a)mantragroup.com:
>
>> Hi All,
>>
>> I am trying to call a external script from Ser.cfg using exec_msg.
>> It calls a
>> shell script and from shell script I am running a java program which
>> connects
>> to Database and makes some queries for getting number of minutes
>> dialled out by
>> a customer. My problem is that how can I get the output of the java
>> programme
>> value to ser.cfg? I am doing like this
>>
>> exec_msg("sh -a /usr/local/ser/mobi.sh $SIP_USER;Some more commands
>> required")
>>
>> I tried one approach, if the user crossed number of minutes then I
>> am calling
>> system.out(-1); telling unix OS that something went wrong and
>> system.out(0);
>> if user did not croos his number of minutes, but it is sometimes
>> successful and
>> fails sometimes. So please tell me how can get the output of java program,
>> should I use system.out.print in java and grep for that but I do not
>> know how
>> can I do this ? I also have no idea whether this approach can be
>> used or not?
>> Please tell what should be used to acheive this?
>>
>> Any help will be sincerely appreciated.
>>
>> Thanks,
>> Manoj.
>>
>>
>
>
>
Dear All,
I am having a serious problem, my thread memory size is growing to up to 2GB which applies to SEMS, SER and Mysqld thread.
Please help. I am testing with about 10 people calling in at the same time. What shall I do? :(
Nicky
----- Original Message -----
From: Nicky
To: serusers(a)lists.iptel.org ; sems(a)lists.iptel.org
Sent: Saturday, October 29, 2005 11:44 AM
Subject: pthread create failed with code 11
Hi Support,
I have experienced this error, please advice what can be the caused. Thanks.
ERROR: start (AmThread.cpp:85): pthread create failed with code 11
Regards,
Nicky
Hi All,
I am trying to call a external script from Ser.cfg using exec_msg. It calls a
shell script and from shell script I am running a java program which connects
to Database and makes some queries for getting number of minutes dialled out by
a customer. My problem is that how can I get the output of the java programme
value to ser.cfg? I am doing like this
exec_msg("sh -a /usr/local/ser/mobi.sh $SIP_USER;Some more commands required")
I tried one approach, if the user crossed number of minutes then I am calling
system.out(-1); telling unix OS that something went wrong and system.out(0);
if user did not croos his number of minutes, but it is sometimes successful and
fails sometimes. So please tell me how can get the output of java program,
should I use system.out.print in java and grep for that but I do not know how
can I do this ? I also have no idea whether this approach can be used or not?
Please tell what should be used to acheive this?
Any help will be sincerely appreciated.
Thanks,
Manoj.
Hi Greg,
I'm not sure. I have tried :
dig -t SRV _sip._udp.sip.carrierTCP.net.br and dig -t SRV
_sip._tcp.sip.carrierTCP.net.br without success.
then
dig -t SRV _sip._udp.carrierTCP.net.br and dig -t SRV
_sip._tcp.carrierTCP.net.br. The same.
In this case it could be the problem... I'm verifying with him. If not, I
could use T_relay_to_tcp or t_relay_to_udp depending on the request line.
In this case my problem is to put the right uri and port in the function :
as his GW could change regarding the destination, even the transport could
change for the same GW. And the function seems to work so with
("123.456.123","5060") as parameters and not with variables. Am I wrong? I
hope because if I could put variables in the t_relay_to_xxx functions, I
will be able to work with any other Sip proxy, even if not well configured
with DNS SRV records.
Anyway, thank Greg...I know you will give me the trick.
Regards,
Christian Thomas
-----Original Message-----
From: Greger V. Teigre [mailto:greger@teigre.com]
Sent: quinta-feira, 16 de fevereiro de 2006 05:22
To: cthomas(a)canalwest.com; serusers(a)lists.iptel.org
Subject: Re: [Serusers] UAC UDP to Proxy TCP... Problem
Does sip.carrierTCP.net.br have DNS SRV records?!
g-)
----- Original Message -----
From: Christian Thomas
To: Greger V. Teigre ; serusers(a)lists.iptel.org
Sent: Wednesday, February 15, 2006 11:28 PM
Subject: RE: [Serusers] UAC UDP to Proxy TCP... Problem
Greger,
Thank you for your response.
See the attached ethereal trace.
NOTA:
66.xxx.xxx.xx is the aterisk UAC
200.xxx.xxx.xx is my proxy server
20.196.xxx.xx is the TCP Carrier GW
The ACK my proxy send to the TCP GW - after have received 200 OK -
have the request line including the transport=tcp indication
The contact headers are ok in each case.
The Bye Sent by my proxy does not have the request line
transport=tcp. But we have already a one way communication before.
if the asterisk does not send a bye, the call is terminated by the TCP
GW. I think it is because of a time out from the TCP GW.
Christian
-----Original Message-----
From: Greger V. Teigre [mailto:greger@teigre.com]
Sent: quarta-feira, 15 de fevereiro de 2006 04:35
To: cthomas(a)canalwest.com; serusers(a)lists.iptel.org
Subject: Re: [Serusers] UAC UDP to Proxy TCP... Problem
Seems like you have done your research and what you write seems
reasonable. It's difficult to give you an answer without having a complete
ngrep trace. However, you should also look at the Record-Route and Route
headers...
g-)
----- Original Message -----
From: Christian Thomas
To: serusers(a)lists.iptel.org
Sent: Tuesday, February 14, 2006 6:33 PM
Subject: [Serusers] UAC UDP to Proxy TCP... Problem
Hi everybody,
I have a UDP2TCP problem with Ser. (0.9-4)
The UACs connected to my SER Proxy are all UDP. When I use some
carriers to connect them to PSTN The Carrier Proxy / GW could talk UDP or
TCP. It depends on the destination.
Each time the Carrier GW want to talk TCP, the contact field is
correct and contains the 'transport=tcp' mention. all seems to be correct
and, after a complete reading about this subject in the list, I trust that
using t_relay() must do the right translation and send response via TCP to
the Carrier GW when this one is transport=tcp declared.
If I Check the message for an Ack or a BYE sent to the TCP GW the
uri is correct :
the transport=tcp is added.
Request-Line: ACK
sip:50033299848400@200.1xx.xx.xx:5060;transport=tcp SIP/2.0
I have red that this is sufficient to let SER understand that it
must be sent via TCP.
unfortunately, this message is ent thru UDP.
May I force with a t_relay_to_tcp ? As this case depends on the
carrier dynamic routing it could be complicated because of the need to know
the destination to script t_relay_to_tco(uri, port)... If anybody has the
trick or any advice...
Other thing related, when TCP is the transport mode from the
Carrier GW and I forward staefully to the UAC (Asterisk) the call failed
between Asterisk as UAC and the carrier GW.
I wondering it was because the Carrier Gw didn't receive an ACK
TCP from my server..
Well I'm completely lost... as you can feel with my message...
I need Help.. But don't cal me Harry ;)
Regards,
Christian Thomas
----------------------------------------------------------------------
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
No, rtpproxy. Is there a difference in NAT support?
Bart...
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On
Behalf Of George Lambson
Sent: 18 February 2006 15:54
To: serusers(a)lists.iptel.org
Subject: Re: [Serusers] Does SER need a public IP interface?
Are you using mediaproxy?
>>> "Bart J. Smit" <bart(a)smits.co.uk> 2/18/2006 7:16 AM >>>
I have based my attached SER config file on the very informative
'getting started 5' instructions/sample from http://www.onsip.org/.
I have SER on a DMZ with Asterisk on the same box, listening on 5065. I
can register two internal phones with SER and talk. I can register a
phone to the Asterisk and talk to the rest of the Asterisk
infrastructure through IAX2. I entered a log statement for my forward to
asterisk and I can see that it is being executed.
What I can't get to work is external phones. When I capture the RTP
packets with ethereal, I can see that the ones from SER to the phones
are properly addressed to the public IP of my NAT-ed phone. However the
return packets are addressed to the private IP of SER and thus never
make it back.
Is this double NAT configuration supported? It looks that way on the
getting started diagrams (both SER and Internet phones are behind NAT
routers). I understand that the NAT traversal mechanism in SER is there
to help clients overcome their NAT. Is there a similar mechanism for the
SER server itself, or does SER only work if it has a direct public
interface?
How do I convince my client phones to send their packets back to the
public IP of SER, rather than the private IP? What ser.cfg line
determines the source IP that SER gives out to the RTP stream? It would
be elegant if I can make this dependent on the source IP of the phones
(internal or external) but I really only need it to work for external
clients, as internal ones can simply register with Asterisk.
Any hints would be most appreciated,
Thanks,
Bart...
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Obviously the easiest way to set it up is with a public interface, but I think you can do what you described if you can modify your NAT box and the SER setup.
try this site:
http://openser.org/dokuwiki/doku.php?id=openser_core_cookbook
It has core functions for SER that might get you going in the right direction.
>>> "Bart J. Smit" <bart(a)smits.co.uk> 2/18/2006 7:16 AM >>>
I have based my attached SER config file on the very informative
'getting started 5' instructions/sample from http://www.onsip.org/.
I have SER on a DMZ with Asterisk on the same box, listening on 5065. I
can register two internal phones with SER and talk. I can register a
phone to the Asterisk and talk to the rest of the Asterisk
infrastructure through IAX2. I entered a log statement for my forward to
asterisk and I can see that it is being executed.
What I can't get to work is external phones. When I capture the RTP
packets with ethereal, I can see that the ones from SER to the phones
are properly addressed to the public IP of my NAT-ed phone. However the
return packets are addressed to the private IP of SER and thus never
make it back.
Is this double NAT configuration supported? It looks that way on the
getting started diagrams (both SER and Internet phones are behind NAT
routers). I understand that the NAT traversal mechanism in SER is there
to help clients overcome their NAT. Is there a similar mechanism for the
SER server itself, or does SER only work if it has a direct public
interface?
How do I convince my client phones to send their packets back to the
public IP of SER, rather than the private IP? What ser.cfg line
determines the source IP that SER gives out to the RTP stream? It would
be elegant if I can make this dependent on the source IP of the phones
(internal or external) but I really only need it to work for external
clients, as internal ones can simply register with Asterisk.
Any hints would be most appreciated,
Thanks,
Bart...
Are you using mediaproxy?
>>> "Bart J. Smit" <bart(a)smits.co.uk> 2/18/2006 7:16 AM >>>
I have based my attached SER config file on the very informative
'getting started 5' instructions/sample from http://www.onsip.org/.
I have SER on a DMZ with Asterisk on the same box, listening on 5065. I
can register two internal phones with SER and talk. I can register a
phone to the Asterisk and talk to the rest of the Asterisk
infrastructure through IAX2. I entered a log statement for my forward to
asterisk and I can see that it is being executed.
What I can't get to work is external phones. When I capture the RTP
packets with ethereal, I can see that the ones from SER to the phones
are properly addressed to the public IP of my NAT-ed phone. However the
return packets are addressed to the private IP of SER and thus never
make it back.
Is this double NAT configuration supported? It looks that way on the
getting started diagrams (both SER and Internet phones are behind NAT
routers). I understand that the NAT traversal mechanism in SER is there
to help clients overcome their NAT. Is there a similar mechanism for the
SER server itself, or does SER only work if it has a direct public
interface?
How do I convince my client phones to send their packets back to the
public IP of SER, rather than the private IP? What ser.cfg line
determines the source IP that SER gives out to the RTP stream? It would
be elegant if I can make this dependent on the source IP of the phones
(internal or external) but I really only need it to work for external
clients, as internal ones can simply register with Asterisk.
Any hints would be most appreciated,
Thanks,
Bart...
I have based my attached SER config file on the very informative
'getting started 5' instructions/sample from http://www.onsip.org/.
I have SER on a DMZ with Asterisk on the same box, listening on 5065. I
can register two internal phones with SER and talk. I can register a
phone to the Asterisk and talk to the rest of the Asterisk
infrastructure through IAX2. I entered a log statement for my forward to
asterisk and I can see that it is being executed.
What I can't get to work is external phones. When I capture the RTP
packets with ethereal, I can see that the ones from SER to the phones
are properly addressed to the public IP of my NAT-ed phone. However the
return packets are addressed to the private IP of SER and thus never
make it back.
Is this double NAT configuration supported? It looks that way on the
getting started diagrams (both SER and Internet phones are behind NAT
routers). I understand that the NAT traversal mechanism in SER is there
to help clients overcome their NAT. Is there a similar mechanism for the
SER server itself, or does SER only work if it has a direct public
interface?
How do I convince my client phones to send their packets back to the
public IP of SER, rather than the private IP? What ser.cfg line
determines the source IP that SER gives out to the RTP stream? It would
be elegant if I can make this dependent on the source IP of the phones
(internal or external) but I really only need it to work for external
clients, as internal ones can simply register with Asterisk.
Any hints would be most appreciated,
Thanks,
Bart...