I have 2 SJphone behind the same NAT (I know that it's a restricted con
NAT).
UA1 ----> (NAT 1) --------> PROXY
|
|
UA2 <-----(NAT 1)<-------------
I've configured my openser.cfg to use Mediaproxy (installed in the same
pc) if 1 or 2 pc are behind NAT (in this case both of my pc).
But when I call from UA1 to the other and I accept the call with UA2,
the RTP stream doesn't flow through the Mediaproxy but it's direct from
UA1 to UA2.
Any clue?
thanks
daniel
If you mean location database, check the "location" table then. -jiri
At 10:05 09/10/2007, roayu wrote:
>Hi there!
>
>Can anyone tell me how to get the RealTime Online user status other than using command �serctl ul show�? Or how can I store the realtime online user status to the MySQL db?
>
>
>Thanks.
>
>Cheers,
>Roa Yu J
>_______________________________________________
>Serusers mailing list
>Serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
Hi,
I tried to register SJPhone with IMS Core but it failed (even after using
sip2ims gatway). A part from this when I used XLite sip phone it gets
registered... Please guide me if pcscf need some modification to accept the
Register request from it... Also find ate ethereal dump for it..
regards:
Ashish Chaturvedi
Mailto: a.chaturvedi(a)tcs.com
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
Hi,
I know this was from the beginning a hot issue, but now, thanks to
Dragos Oancea <dragos(a)voice-system.ro>, the mi_xmlrpc can:
1) be compiled against the newest versions of libxmlrpc-c3. The
Makefile will detect the library version an trigger the appropriate
compile options for the module; So the module supports both the old
version (0.9.10) and the newest versions (1.03.10 - 1.06.18). If none of
these version is detected, a warning will be issued and the module will
be compiled as for the new versions. If you detect the older versions
(than 1.03.10 are supported, please let us know).
2) properly auto-detects the path of the header files and the
libraries that the modules needs to compile against, so this should not
be a problem anymore ;)
any feedback will be useful :)
regards,
bogdan
Greetings,
I am proxying INVITEs and need to be able to know when the 200 OK that is
part of that particular transaction dialogue (same CSeq as the INVITE)
appears so that I stamp voice-bearing media start in my logs.
However, I cannot seem to detect it. I see from the packet capture that
the 200 OK from the far end of the call does go back through my OpenSER
proxy (I do record_route() on all methods but REGISTER & OPTIONS as per
the spec), but I can't seem to programmatically access it in any way.
Are there special steps required to get at it?
This is to say, my main route contains:
if(is_method("INVITE")) {
...
}
But I never seem to catch anything with it but actual INVITE messages.
What gives? I tried doing
if(t_check_status("200"))
within that block, but without anything that I would describe as success.
I never even get another message whose overall transaction method is
INVITE even when I dump them all for debugging purposes in the main route.
Insights appreciated!
Thanks,
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : +1-678-954-0670
Direct : +1-678-954-0671
Is there a better way to talk to a database directly than to use
avp_db_query()? I need to use my own schemas; I have a platform
that absolutely does not lend itself to storing data in the avpops'
schema. Luckily, avp_db_query() saved the day. Is there anything
even easier, or is this the definitive and methodologically correct
way to go?
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : +1-678-954-0670
Direct : +1-678-954-0671
Hi
I was trying to register SJPhone with IMS Core and at Client end it shows
Registered but at HSS it shows AUTH-PENDING. The Ethereal dump shows proper
call flow with 200 OK.
Have a look on HSS console debug statements...
at
de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.run(Communicator.java:187)
2007-10-09 12:43:26,340 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing UAR!
2007-10-09 12:43:26,389 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing MAR!
2007-10-09 12:43:26,410 DEBUG de.fhg.fokus.hss.cx.op.MAR -
generateAuthVector Auth-Scheme is Digest-MD5
2007-10-09 12:43:26,418 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing UAR!
2007-10-09 12:43:26,462 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing SAR!
2007-10-09 12:43:36,460 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing UAR!
2007-10-09 12:43:36,508 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing UAR!
2007-10-09 12:43:36,555 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing UAR!
2007-10-09 12:43:36,620 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing MAR!
2007-10-09 12:43:36,658 DEBUG de.fhg.fokus.hss.cx.op.MAR -
generateAuthVector Auth-Scheme is Digest-MD5
2007-10-09 12:43:36,703 DEBUG de.fhg.fokus.hss.main.Task - execute
Processing UAR!
de.fhg.fokus.hss.cx.CxExperimentalResultException:
IMS_Diameter_Error_User_Unknown
at de.fhg.fokus.hss.cx.op.UAR.processRequest(UAR.java:112)
at de.fhg.fokus.hss.main.Task.execute(Task.java:169)
at de.fhg.fokus.hss.main.Worker.run(Worker.java:66)
Please help me out in this.... If any body has made a successful call with
SJPhone and IMS , plzz send me the configuration setting for that...
Thanks in adv....
Ashish
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
Hi all,
I'm trying to develop an extension to support SNOM's number guessing
feature (I don't know if it's somehow a standard but description on how
it works is here:
http://kb.snom.com/kb/index.php?View=entry&CategoryID=14&EntryID=14)
As I have to do some 'complicated' db queries I was thinking to use PERL
module to handle number guessing request from the phone.
I see there's no way (please correct me if I'm wrong) from OpenSER,
neither from OpenSER::Message, to send a stateless reply with a
customized body (SNOM says that possible number completion shoud be
included in the body of a 200 OK reply).
For this reason I have to use Net::SIP to generate the reply packet but
I'm doing something wrong as OpenSER is not forwarding it back to the
client.
Test client is a Snom 360 and is behind a NAT, OpenSER has a public IP
Here is my routing logic in openser.cfg
------------------- BEGIN openser.cfg
route{
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
if (nat_uac_test("19")) {
fix_nated_contact();
force_rport();
setbflag(6);
}
if (method=="PUBLISH") {
if ($hdr(Event)=="number-guessing") {
log("- Initial PUBLISH\n");
t_newtran();
t_on_reply("1");
perl_exec("numberguessing");
exit;
}
sl_send_reply("501", "Not implemented");
exit;
}
if (method=="REGISTER") {
if (nat_uac_test("19")) {
fix_nated_contact();
force_rport();
setbflag(6);
}
save("location");
exit;
};
exit;
}
route[1] {
log("--------------------- Stateful Reply\n");
if (!t_relay()) {
sl_reply_error();
};
exit;
}
------------------- END openser.cfg
Here is my Simple Perl
------------------- BEGIN net-sip.pl
use OpenSER qw ( log );
use OpenSER::Constants;
use Net::SIP;
# Predefined body, not querying db yet
my $body = '"Franky Chang" sip:101@192.168.0.1;user=phone
"Steven Jones" sip:102@192.168.0.1;user=phone
"Marie Sun" sip:103@192.168.0.1;user=phone
';
sub numberguessing {
my $m = shift;
my $pkt = Net::SIP::Request->new( $m->getMessage() );
my $resp = $pkt->create_response(200, "OK");
$resp->set_body($body);
$resp->add_header('Content-Type','application/number-guessing');
my $leg = Net::SIP::Leg->new(
addr => '111.222.333.444', port => '5061');
$leg->deliver( $resp, '111.222.333.444:5060' );
# 111.222.333.444 is the IP of OpenSER
# I'm sending from port 5061 to port 5060
return 1;
}
------------------- END net-sip.pl
OpenSER in verbose debugging module says that it cannot find a matching
transaction for the 200 OK reply (probably because is originated from
port 5061 and it has never forwarded it to that port ? )
Here is OpenSER DEBUG log:
0(24828) SIP Reply (status):
0(24828) version: <SIP/2.0>
0(24828) status: <200>
0(24828) reason: <OK>
0(24828) parse_headers: flags=2
0(24828) get_hdr_field: cseq <cseq>: <1> <PUBLISH>
0(24828) DEBUG:parse_to:end of header reached, state=10
0(24828) DBUG:parse_to: display={"Edoardo"},
ruri={sip:eserra@111.222.333.444}
0(24828) DEBUG: get_hdr_field: <to> [43]; uri=[sip:eserra@111.222.333.444]
0(24828) DEBUG: to body ["Edoardo" <sip:eserra@111.222.333.444>
]
0(24828) Found param type 232, <branch> = <z9hG4bK-m3j054b6d8q6>; state=6
0(24828) Found param type 235, <rport> = <n/a>; state=17
0(24828) end of header reached, state=5
0(24828) parse_headers: Via found, flags=2
0(24828) parse_headers: this is the first via
0(24828) After parse_msg...
0(24828) DEBUG:forward_reply: found module tm, passing reply to it
0(24828) DEBUG: t_check: start=0xffffffff
0(24828) parse_headers: flags=22
0(24828) DEBUG: t_reply_matching: failure to match a transaction
0(24828) DEBUG: t_check: end=(nil)
0(24828) parse_headers: flags=4
0(24828) DEBUG: get_hdr_body : content_length=135
0(24828) found end of header
0(24828) ERROR:forward_reply: no 2nd via found in reply
0(24828) DEBUG:destroy_avp_list: destroying list (nil)
0(24828) receive_msg: cleaning up
Here is also the tshark dump of the 2 packets (PUBLISH and its reply)
Request-Line: PUBLISH sip:eserra@213.92.23.108 SIP/2.0
Message Header
Via: SIP/2.0/UDP 192.168.254.151:2051;branch=z9hG4bK-ma9r5n0t4jfq;rport
From: "Edoardo" <sip:eserra@111.222.333.444>;tag=39wlni6ex1
To: "Edoardo" <sip:eserra@111.222.333.444>
Call-ID: 3c27c039249b-jml9w7t9sywx
CSeq: 1 PUBLISH
Max-Forwards: 70
Event: number-guessing
Content-Type: application/text
Content-Length: 25
Message body
Number: 10\r\n
Max-Hits: 3\r\n
Status-Line: SIP/2.0 200 OK
Message Header
call-id: 3c27c0daa600-emnlo1xcejtn
cseq: 1 PUBLISH
from: "Edoardo" <sip:eserra@111.222.333.444>;tag=6c1y8pp3fb
to: "Edoardo" <sip:eserra@111.222.333.444>
via: SIP/2.0/UDP 192.168.254.151:2051;branch=z9hG4bK-623oddiyzg56;rport
content-type: application/number-guessing
Content-Length: 135
Message body
"Franky Chang" sip:101@192.168.0.1;user=phone\n
"Steven Jones" sip:102@192.168.0.1;user=phone\n
"Marie Sun" sip:103@192.168.0.1;user=phone\n
Hope this info is enough for a debug :)
Tnx in advance
Regards
Edoardo Serra
EXSORSA LLC