Hi,
I am using Openser-1.2.0 with dialog module. When I make a call then full
session is saved in dialog correctly and when bye received then the session
will be free. but when the route header feild is not available in BYE
message then the session is not removed at receive BYE, Because This BYE
message is not caught bye dlg_onroute function. Now can I destroy this
session in dlg_onreq function?
Thanks
BDRubel
I believe most people by now have had time to respond to the thread
where the idea and discussion from Prague around a technical board was
started (April 12).
Based on the feedback received, I summarize and offer the following
make-it-simple suggestion:
We create an iptel.org technical board (TB:
1. The board is responsible for resolving issues that is not possible to
be resolve through a community consensus process, and it is allowed to
take action where it finds necessary for the benefit of the iptel.org
community.
2. The board is common for all iptel.org projects.
3. The board shall consist of five (5) members and the term shall be two
years.
4. A board member can stay for several terms.
5. The five members shall be selected with one representative from SEMS,
two from the SER developer (cvs write access) community, and two
representatives for the broader iptel.org community.
6. All seruser and serdev subscribers nominate candidates, as well as vote.
7. Electable members must be contributors to iptel.org in some way and
should not be controversial among subscribers.
8. Each subscriber can give his/her vote to one or more candidates, up
to the number of board members (5).
Process forward:
People should respond with concerns and suggestions to this post. If
there is consensus for changes, I will work as the editor and write up a
new suggestion. Once the community can agree to the set of rules
governing the board, we will proceed to nomination of candidates and
then voting.
g-)
Hi all,
We are interested in developing yet-another peer-to-peer VoIP service. Something with a simple Softphone/IM-like client that allows users to talk/chat with one another.
However, and pardon our technical ignorance, we don't have 100% clear if/when we need to use something like rtpproxy or mediaproxy. Basically, we want to do all the setup of the calls and keep track of CDRs. However, we're hope that the client's actual media traffic will flow directly among the users and not have to come through our servers.
For practical purposes, most users will be in domestic US with some sort of xDSL service and behind NAT.
Eventually, we would like to offer voicemail services and even PSTN termination (for a fee) to these users.
Can anyone shed some light as to when, if really needed, will something like rtpproxy kick in?
Thanks
Hi...
I have to manage several domains on a same SIP server, but there is a policy
that prohibit/block inter-domain calls.
Consider A(a)a.a, B(a)a.a and B(a)b.b. Now suppose that A(a)a.a wants to call B(a)a.a.
But B(a)a.a is not connected and B(a)b.b is. After a 'lookup("location")', the
RURI returned is B(a)b.b and that is not the user wanted.
Location table has a column named 'Domain', but it's allways empty. How to
populate this column? How to use it (make 'lookup' consider it)? And how to
prevent A(a)a.a calling B(a)a.a to reach B(a)b.b?
Edson
Hello.
My enviroment is the next:
-Balancer
OS. Red Hat 4 up. 4
Openser 1.1.1 (balance with the module dispatcher)
-Sip Server
OS. Red Hat 4 up. 4
Openser 1.1.1
The actual flow is this.
VTA B C VTB
---register---->
---register---->
<---200 OK------
<----200 OK-----
---invite------>
-----invite---->
<-404 NotFound--
--404 NotFound--
<----------register---------
----register---->
<----200 OK------
------------ 200 OK-------->
----invite----->
<-404 NotFound--
VTA= videotelephone A
B= balancer (openser 1.1.1 with dispatcher module)
C= SipServer (openser 1.1.1)
VTB= video telephone B
How you see when the VTA sends again the same invite,
the balancer(B) answer with the 404 not found but
without ask again to the SipServer(C), and my problem
is that VTB is late and i have to try find it in the
second invite, then in the second invite i need ask
again to the SipServer(C) if the VTB is register.
VTA y VTB access to the IP network making a dial-up
connection.
Why the balancer dosen't send the second invite to
SipServer?
How do i get this flow?
Thank's for the Help
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.yahoo.com.mx/
Hi,
Is it possible to pass the ip address in the function t_relay_to_udp(..)
in the m module using avp.
For instance:
...
t_relay_to_udp("$relay_to_udp","5060");
...
When I try to do it this way I get the following error:
Apr 30 14:30:03 sen /home/ser/ser/ser-2.0/ser[7552]: Maxfwd module- initializing
Apr 30 14:30:03 sen ser[7552]: AVPops - initializing
Apr 30 14:30:03 sen ser[7552]: ERROR: mk_proxy: could not resolve hostname: "$relay_to_udp"
Apr 30 14:30:03 sen ser[7552]: ERROR: fixup_hostport2proxy: bad host name in URI <$relay_to_udp>
Apr 30 14:30:03 sen ser[7552]: ERROR: fix_expr : fix_actions error
Cheers
Tomasz
Hi,
I am using SER rel 2_0_0 from CVS.
I encountered the following situation.
My scenario was the following:
UA -> Application Serwer -> SER -> UA
1. UA sent an INVITE message to the application server.
2. Application Server changed the Request URI and forwarded statelessly the INVITE message to SER.
3. Everything would be ok but SER replied to the Application server instead of the client. Application server changed only the Request URI and nothing else.
Shouldn't SER sent the response according to the VIA header value??
I kindly ask for Your help.
Below is the ngrep:
192.168.0.112:5060 - this is application server
192.168.0.112:5061 - this is calling UA
U 2007/04/25 16:17:05.652934 192.168.0.112:5060 -> 192.168.0.165:5060
INVITE sip:sen@voip.rd.touk.pl SIP/2.0.
Via: SIP/2.0/UDP 192.168.0.112:5061;rport=5061;branch=z9hG4bKhnrxbtgp;received=127.0.0.1.
Max-Forwards: 70.
To: <sip:sen@voip.rd.touk.pl>.
From: <sip:pz@voip.rd.touk.pl>;tag=jlegd.
Call-ID: pfnqwekjwtuxbfv(a)192.168.0.112.
CSeq: 87 INVITE.
Contact: <sip:pz@192.168.0.112:5061>.
Content-Type: application/sdp.
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO.
Supported: 100rel.
User-Agent: Twinkle/0.9.
Content-Length: 304.
.
v=0.
o=pz 86411392 1733597180 IN IP4 192.168.0.112.
s=-.
c=IN IP4 192.168.0.112.
t=0 0.
m=audio 8000 RTP/AVP 98 97 8 0 3 101.
a=rtpmap:98 speex/16000.
a=rtpmap:97 speex/8000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=ptime:20.
#
U 2007/04/25 16:17:05.699923 192.168.0.165:5060 -> 192.168.0.112:5060
SIP/2.0 407 Proxy Authentication Required.
Via: SIP/2.0/UDP 192.168.0.112:5061;rport=5060;branch=z9hG4bKhnrxbtgp;received=127.0.0.1;received=192.168.0.112.
To: <sip:sen@voip.rd.touk.pl>;tag=b27e1a1d33761e85846fc98f5f3a7e58.6a45.
From: <sip:pz@voip.rd.touk.pl>;tag=jlegd.
Call-ID: pfnqwekjwtuxbfv(a)192.168.0.112.
CSeq: 87 INVITE.
Proxy-Authenticate: Digest realm="voip.rd.touk.pl", nonce="462f640d527dfc442d53379e1f0167c8a12a583d", qop="auth".
Server: Sip EXpress router (2.0.0-rc1 (x86_64/linux)).
Content-Length: 0.
Warning: 392 192.168.0.165:5060 "Noisy feedback tells: pid=20441 req_src_ip=192.168.0.112 req_src_port=5060 in_uri=sip:sen@voip.rd.touk.pl out_uri=sip:sen@voip.rd.touk.pl via_cnt==1".
.
Cheers Tomasz
Hi,
I was trying to load user attributes form the database (which where previously defined and set through serweb) and after I tried to load them with load_attrs("$tu","@ruri") no attributes appeared for the user identified by ruri. When I loaded attributes using load_attrs("$tr","@ruri") from the uri_attrs table then everything was ok and attributes were loaded.
Please point me what do I missed so the attributes are not loaded?
Below is my ser.cfg code and database contents:
if (lookup_user("$tu.uid", "@ruri")) {
xlog("L_INFO", " route[INBOUND]: load_attrs($tu,@ruri) <%rm> <%ru> \n");
load_attrs("$tu", "@ruri");
dump_attrs();
xlog("L_INFO", " route[INBOUND]: load_attrs($tr,@ruri) <%rm> <%ru> \n");
load_attrs("$tr", "@ruri");
dump_attrs();
....
}
database:
ser@sen:~/ser/ser-2.0/serctl$ ./ser_db show user_attrs | grep testser
32 2 testser(a)voip.rd.touk.pl testser first_name
32 2 testser(a)voip.rd.touk.pl last_name
33 2 testser(a)voip.rd.touk.pl tzl(a)touk.pl email
32 2 testser(a)voip.rd.touk.pl phone
32 2 testser(a)voip.rd.touk.pl Europe/Warsaw timezone
33 2 testser(a)voip.rd.touk.pl 2007-02-26 13:50:18 datetime_created
32 0 testser(a)voip.rd.touk.pl 0 sw_allow_find
32 0 testser(a)voip.rd.touk.pl 0 sw_send_missed
33 2 testser(a)voip.rd.touk.pl sip:touk2@voip.touk.pl forward_blind
33 2 testser fd for
and output in the log file:
Apr 30 11:11:40 sen ser[29958]: route[INBOUND]: load_attrs($tu,@ruri) <INVITE> <sip:testser@voip.rd.touk.pl>
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:540: class=GLOBAL
Apr 30 11:11:40 sen ser[29958]: AVP["lang"]="en"
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:550: track=FROM class=DOMAIN
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:560: track=TO class=DOMAIN
Apr 30 11:11:40 sen ser[29958]: AVP["did"]="voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: AVP["digest_realm"]="voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:570: track=FROM class=USER
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:580: track=TO class=USER
Apr 30 11:11:40 sen ser[29958]: AVP["uid"]="testser(a)voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:590: track=FROM class=URI
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:600: track=TO class=URI
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: route[INBOUND]: load_attrs($tr,@ruri) <INVITE> <sip:testser@voip.rd.touk.pl>
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:540: class=GLOBAL
Apr 30 11:11:40 sen ser[29958]: AVP["lang"]="en"
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:550: track=FROM class=DOMAIN
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:560: track=TO class=DOMAIN
Apr 30 11:11:40 sen ser[29958]: AVP["did"]="voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: AVP["digest_realm"]="voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:570: track=FROM class=USER
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:580: track=TO class=USER
Apr 30 11:11:40 sen ser[29958]: AVP["uid"]="testser(a)voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:590: track=FROM class=URI
Apr 30 11:11:40 sen ser[29958]: INFO: No AVP present
Apr 30 11:11:40 sen ser[29958]: INFO: avp.c:600: track=TO class=URI
Apr 30 11:11:40 sen ser[29958]: AVP["forward_blindd"]="sip:hellboy@voip.rd.touk.pl"
Apr 30 11:11:40 sen ser[29958]: AVP["forward_voicemaill"]="sip:hellboy@voip.rd.touk.pl"
Cheers
Tomasz
Hi,
I have testing openser 1.2.0 with seas module and wesip.
If I send an INVITE message with a Route header, the SIP servlet receives
the INVITE with the full Route Header, and when I proxy it the Route is the
same, but I expected that the top most Route header has been removed. Who is
in charge to do it? openser or wesip? I first thought it might be openser
through loose_route(), but it seems not to be the case.
The openser cfg file is similar to the example given in wesip tutorial:
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;
};
xlog("L_INFO", "$rm: ci=$ci ft=$ft tt=$tt cseq=$cs ruri:$ru received
from: $si:$sp \n");
if (!method=="REGISTER")
record_route();
if (loose_route()) {
xlog("L_INFO", "RR enforced\n");
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (uri==myself) {
xlog("L_INFO", "uri == myself");
if (method=="REGISTER") {
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
xlog("L_INFO", "outbound alias\n");
append_hf("P-hint: outbound alias\r\n");
route(1);
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
xlog("L_INFO", "usrloc applied\n");
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
if(!as_relay_t("app_server_one")){
t_reply("500","Application Server error");
}
}
route[2] {
xlog ("L_INFO", "$rm: cseq:$cs $ru: RELAYING (PROXY) to $du (flags: $mF)
...\n");
if (!t_relay()) {
sl_reply_error();
};
exit;
}
This the log from wesip:
14:43:37 27abr2007 DEBUG SeasMessageEvent [SeasRouter]- New message
received, from 10.161.14.10:6025 to 10.161.14.10:7000 over UDP
14:43:37 27abr2007 DEBUG SeasTransactionEvent [SeasRouter]- hash_index =
60870,label=1842040723 flags=0
14:43:37 27abr2007 DEBUG ExpressMessageChannel [ExpressMChannel[76]]-
peerAddress = 10.161.14.10/6025
14:43:37 27abr2007 DEBUG ExpressMessageChannel [ExpressMChannel[76]]- About
to process INVITE sip:user2@mot.net SIP/2.0
14:43:37 27abr2007 DEBUG SipConnector [ExpressMChannel[76]]-
createProcessor: Reusing existing processor
14:43:37 27abr2007 INFO SipProcessor [ExpressMChannel[76]]- An incoming
message is being assigned
14:43:37 27abr2007 DEBUG ExpressMessageChannel [ExpressMChannel[76]]- Done
processing INVITE sip:user2@mot.net SIP/2.0
14:43:37 27abr2007 DEBUG SipProcessor [SipProcessor[3]]- <<<<<<<<< Request
Received <<<<<<<<<
INVITE sip:user2@mot.net SIP/2.0
Via: SIP/2.0/UDP 10.161.14.10:6025;branch=z9hG4bK1-13972359389@10.161.14.101
Contact: <sip:10.161.14.10:6025;transport=UDP>
Max-Forwards: 14
From: <sip:user1@mot.net>;tag=6661
To: <sip:user2@mot.net>
Supported: 100rel
Route: <sip:10.161.14.10:7000;lr=on>,<sip:10.161.14.10:6025;lr=on>
Call-ID: 1-13972359389(a)10.161.14.10
CSeq: 1 INVITE
Allow: INVITE,CANCEL,ACK,BYE,UPDATE,MESSAGE,PRACK,REFER
Content-Type: application/sdp
Content-Length: 337
14:43:37 27abr2007 DEBUG SeasHashTable [SipProcessor[3]]- Inserting
hashIdx:60870 label:1842040723 into hashTable
14:43:37 27abr2007 DEBUG SipProcessor [SipProcessor[3]]- Transaction [
z9hG4bK1-13972359389(a)10.161.14.101] is new Transaction?? --> true
14:43:37 27abr2007 DEBUG EngineSipMapper [SipProcessor[3]]- Request from
10.161.14.10 mapped to:
ConvergedEngine[Standalone].StandardHttpHost[localhost]
14:43:37 27abr2007 DEBUG ConvergedEngineValve [SipProcessor[3]]- Invoking
Host:localhost
14:43:37 27abr2007 DEBUG ConvergedHostValve [SipProcessor[3]]- SipSession
not found for requestINVITE, trying match against Rules
14:43:37 27abr2007 DEBUG ConvergedHost [SipProcessor[3]]- Mapped request
to:/sampleservlet
14:43:37 27abr2007 DEBUG ConvergedContextValve [SipProcessor[3]]- new
session created :1-13972359389@10.161.14.10
14:43:37 27abr2007 INFO ExpressMessageChannel [SipProcessor[3]]- Creating
Express message channel 10.161.14.10/7000
14:43:37 27abr2007 DEBUG ExpressMessageChannel [SipProcessor[3]]- setting
spiral=false
14:43:37 27abr2007 DEBUG SipRequest [SipProcessor[3]]- >>>>>>>>> Sending
Request >>>>>>>>>
INVITE sip:user2@mot.net SIP/2.0
Max-Forwards: 14
From: <sip:user1@mot.net>;tag=83FBA2EBC5A9EE4615D194DECA1EE955
To: <sip:user2@mot.net>
Supported: 100rel
Route: <sip:10.161.14.10:7000;lr=on>,<sip:10.161.14.10:6025;lr=on>
CSeq: 1 INVITE
Allow: INVITE,CANCEL,ACK,BYE,UPDATE,MESSAGE,PRACK,REFER
Content-Type: application/sdp
Call-ID: 1-13972359389(a)10.161.14.10
Contact: <sip:10.161.14.10:7000;transport=udp>
P-AS-Hint: B2BUA
Via: SIP/2.0/UDP 10.161.14.10:7000;branch=z9hG4bK2137041384
Content-Length: 337
Thanks in advance