Hello Daniel,
Thank you very much for your tips.
You are right. The ACK did not match the dialog - under this particular scenario there was an inconsistency between the branch, to, and from tags.
Hello All,
I have further questions related to this topic and routing of 'locally generated' ACKs...
- How does OpenSER distinguish between 'locally generated' and 'end-to-end' ACKs?
- How does OpenSER know when a 'locally generated' ACK closes the transaction (e.g. Decline reply) that it is involved in?
- Does openser allow the modification of the Route header in a 'locally generated' ACK and usage of TM's t_relay method to relay this ACK? Or is this prohibited so that only OpenSER is allowed to automatically route locally generated ACKs?
Best regards,
Andrew
-----Ursprüngliche Nachricht-----
Von: Daniel-Constantin Mierla [mailto:daniel@voice-system.ro]
Gesendet: Mittwoch, 12. Juli 2006 16:32
An: Augustin, Andrew (external)
Cc: users(a)openser.org
Betreff: Re: [Users] Declined INVITE invokes multiple Decline's at Proxy
Hello,
seems that the ACK does not match the dialog, thus the decline reply is
retransmitted. The network trace (ngrep) will help to spot more.
Which of Proxy-1..3 is OpenSER and how the INVITE is routed? looking at
the reply path, A seems to talk directly with proxy 2, but it is not
right since the decline reply is sent back to A from Porxy 1. Or you
didn't presented the full trace?
Cheers,
Daniel
On 07/12/06 14:26, Augustin, Andrew (external) wrote:
>
> Hello,
>
> I am using openser v1.0.
>
> I have a problem with the following SIP scenario with openser:
>
> - A invites B to a call session, B declines the invitation
>
> The message trace shown below is just part of the message trace
> produced for the above scenario displaying message frames in sequence
> F43, F44 ... through F64
>
> Initially everything works as expected: INVITEs, Trying (100) and
> Ringing 180 messages are routed correctly from A to B and from B to A
> via the intermediate proxies (this is not shown below). While still
> 'Ringing', B decline's the call (sends a Decline message) message: F44
> in trace below. This also initally routes OK.
>
>
> But the call flow for this scenario is expected to terminate at
> message: F55 once the 'Decline' has routed its way back from the
> B-Party to the A-Party and a final 'ACK' is sent by the A-Party to the
> previous proxy: Proxy-1.
>
> But what actually occurs is that openser running on Proxy-1
> automatically resends a 'Decline' at message F56 identical to the
> 'Decline' it first sent at message F46. This in turn prompts further
> ACKs and 'Decline's until it finally times out at message F107 (not
> shown below).
>
> It appears that openser saves the original message and attempts to
> retry/resend the 'Decline' message when prompted by an ACK. This
> continues for several cycles with ACKs and Decline's being sent and
> received around the system until a timeout occurs.
>
>
> The above behaviour also occurs for the following scenario:
>
> - A invites B to a call session, B responds with a Busy
>
> Can you help me to:
>
> - understand what is going on
> - terminate what appears to be an open 'transaction' for the 'Decline'
> and prevent further 'Decline's and ACKs being sent around the system.
>
> Best regards,
> Andrew
>
> --------------
>
> A-Party Proxy-1 Proxy-2 Proxy-3 B-Party
> 10.1.195.134:50 10.1.195.134:50 127.0.0.1:5070 127.0.0.1:5080
> 10.1.195.208:50
> | | | | |
> |<nging 180 F43<| | | |
> | | | | |
> | |<----------------------------- Decline 603 F44<|
> | | | | |
> | |>F45 ACK ------------------------------------->|
> | | | | |
> | |>F46 603 Decline ------------->| |
> | | | | |
> | |<--------------------- ACK F47<| |
> | | | | |
> | | |<cline 603 F48<| |
> | | | | |
> | | |>F49 ACK ----->| |
> | | | | |
> | | |>F50 603 Decli>| |
> | | | | |
> | | |<----- ACK F51<| |
> | | | | |
> | |<------------- Decline 603 F52<| |
> | | | | |
> | |>F53 ACK --------------------->| |
> | | | | |
> |<cline 603 F54<| | | |
> | | | | |
> |>F55 ACK ----->| | | |
> | | | | |
> | |>F56 603 Decline ------------->| |
> | | | | |
> | |<--------------------- ACK F57<| |
> | | | | |
> |<cline 603 F58<| | | |
> | | | | |
> |>F59 ACK ----->| | | |
> | | | | |
> | |>F60 603 Decline ------------->| |
> | | | | |
> | |<--------------------- ACK F61<| |
> | | | | |
> |<cline 603 F62<| | | |
> | | | | |
> |>F63 ACK ----->| | | |
> | | | | |
> | |>F64 603 Decline ------------->| |
> | | | | |
>
>
>
>
>
>
>
>
>
>
> ----------------------------------------------------------------------
> --
>
> _______________________________________________
> Users mailing list
> Users(a)openser.org http://openser.org/cgi-bin/mailman/listinfo/users
>
my name is ade from indonesia. i want to ask about configuration sms module in red hat 9! please tell me step by step for instalation and configure, what should i do?
i have spesificati :
1. HP Siemens m35i as gateway
2. Red Hat 9 as Operating system
3. Openser 1.0 as Module server
4. mysql as database
Thank's all !!
---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.
Hi,
How do I create a backup route using failure_route for sending the
transaction to second GW it the main GW is not responding in time.
I use this in my ser.cfg and also timers if course...
route {
...
log("Call to PSTN");
t_on_failure("1");
rewritehost("main GW");
t_relay();
break;
};
failure_route[1]
{
log("<<<<<<<<<< Main SVI is busy or down! Trying secondary SVI!
>>>>>>>>>>\n");
rewritehosport("second GW:5060");
append_branch();
t_relay();
break;
}
And I guess this is OK. But my GW try to send this to internal IP
adresses (192.168.x.x) that SER feeds my GW with (I guess).
Is it possible to "remove" this IP adresses so that just ip of sec. GW
is sent in record_route and Via:?
Any other solution how to solve this...?
Thanks,
Anders
Is there any magic to the transfer situation?
Special configs and such or should a basic
configuration be able to manage unattended or attended
transfers?
Thanks, F
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Hello,
We 'd like to use openser with radius authentication, accounting
We have installed openser from debian package on an ubuntu system:
deb http://www.openser.org/debian sarge main
But radius authentication failed, and we need avp_radius module too,
wich is not included in this package i guess
error message in the log:
ERROR:auth_radius:radius_authorize_sterman: rc_auth failed
on http://openser.org/docs/openser-radius-1.0.x.html i ve 'read that
openser should be compiled (with some macros defined in makefile) to
work with
radius.
Is there any possibility to install some deb packages instead of
compilation?
Which package should we install?
Thanks,
Tamas
Hi all,
Just a quick question. When I use rtpproxy or mediaproxy, does the media stream actually transfer through my rtpproxy server? Or does media transfers from UA to UA.
For example, both UA1 and UA2 are behind different NAT, when the call is connected, does the media travels through the RTPproxy server? Or does it goes directly from UA1 to UA2? Thank you for answering my question.
---------------------------------
Do you Yahoo!?
Next-gen email? Have it all with the all-new Yahoo! Mail Beta.
Okay, I'm trying to use uac_replace_from to anonymize the From: in order to
suppress ANI. I think I've got it, but it seems like the behavior isn't what
I expect. First, the relevent config file section:
if (search("Anonymous")) {
uac_replace_from("","sip:anonymous@xxxxxxx.com");
append_rpid_hf("",";party=calling;id-type=subscriber;screen=yes;privacy=full");
log(1,"Made a call anon");
};
Now, the headers as they go in and come out:
SIP MESSAGE 4 xx.7.96.185:5061() -> xx.7.96.82:5060()
UDP Frame 4 30/Jun/06 08:30:57.4723
TimeFromPreviousSipFrame=0.0069 TimeFromStart=0.0204
INVITE sip:1360789xxxx@voip02.xxxxxxx.com SIP/2.0
Via: SIP/2.0/UDP xx.7.96.185:5061;branch=z9hG4bK-7fa6fcd6;rport
From: Anonymous
<sip:+136091xxxxxx@voip02.xxxxxxxx.com>;tag=8c07328919ade13ao1
To: <sip:1360789xxxx@voip02.xxxxxxxx.com>
Call-ID: 51835bf5-ba1be6be@localhost
CSeq: 102 INVITE
Max-Forwards: 70
Contact: Anonymous <sip:+136091xxxxx@xx.7.96.185:5061>
Expires: 240
User-Agent: Sipura/SPA2000-3.1.5
Content-Length: 311
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura
Content-Type: application/sdp
SIP MESSAGE 6 xx.7.96.82:5060() -> xx.7.96.90:5060()
UDP Frame 6 30/Jun/06 08:30:57.4791
TimeFromPreviousSipFrame=0.0007 TimeFromStart=0.0272
INVITE sip:360789xxxx@xx.7.96.90:5060 SIP/2.0
Record-Route: <sip:xx.7.96.82;ftag=8c07328919ade13ao1;lr=on>
Via: SIP/2.0/UDP xx.7.96.82;branch=z9hG4bKe9d1.8c515a97.0
Via: SIP/2.0/UDP xx.7.96.185:5061;branch=z9hG4bK-7fa6fcd6;rport=5061
From: Anonymous <sip:36091xxxxx@voip02.xxxxxxxx.com>;tag=8c07328919ade13ao1
sip:anonymous@xxxxxxxx.com
To: <sip:360789xxxx@xx.7.96.90:5060>
Call-ID: 51835bf5-ba1be6be@localhost
CSeq: 102 INVITE
Max-Forwards: 69
Contact: Anonymous <sip:+136091xxxxx@xx.7.96.185:5061>
Expires: 240
User-Agent: Sipura/SPA2000-3.1.5
Content-Length: 311
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura
Content-Type: application/sdp
Remote-Party-ID: "xxxxxxxx Customer"
<sip:+136091xxxxx@xxxxxxxx.com>;party=calling;id-type=subscriber;screen=yes;privacy=full
And finally what I'm seeing in the log:
Jun 30 08:18:33 voip02 /usr/sbin/openser[4684]: DEBUG:uac:replace_from:
removing display [Anonymous]
Jun 30 08:18:33 voip02 /usr/sbin/openser[4684]: DEBUG:uac:replace_from: uri
to replace [sip:+136091xxxxx@voip02.xxxxxxxx.com]
Jun 30 08:18:33 voip02 /usr/sbin/openser[4684]: DEBUG:uac:replace_from:
replacement uri is [sip:anonymous@xxxxxxxx.com]
So what am I missing here? It looks like uac_replace_from is finding the
right URI and replacing it, just not properly. I've already gone into CVS
and I don't see any changes since 1.0.1 (which is what is running here), nor
any relevent changes from SER compared to OpenSER.
Any help? Please?
-Keith
Dear all,
First of all I would like to say thanks to all the developer team who has released new packet for openser. It is openser-1.1.0.
As all of you know that before, I have a problem when I compiled the openser packet with TLS (openser-1.0.1-tls_src.tar.gz).Error in SSL_CTX_set_options. I can`t repair it untill now.
But, using openser-1.1.0-tls_src.tar.gz, I don`t have any error message again when I compile TLS by using "make TLS=1 all" command.
So, I am very happy that the new openser packet has been released.
But, I have some question about the new released.
1. I use the Redhat 9 with the version of kernel is 2.4, can my system that i will build working as well as possible? As I know that the new packet just support operating system debian (all the packet is for debian). or Should i move to Debian?
2. When I try to build database and I run #/usr/local/sbin/openser_mysql.sh, I got error message. So, I look into the directory of /usr/local/sbin, and I don`t find the "openser_mysql.sh".
I just find : "openser, openserctl, openserunix".
But in openser1.0.1-tls, I can find "openser , openserctl, openser_gen_ha, openser_mysql.sh, openser_postgresql.sh, openserunix".
How it can be?
Can I copy the "openser_gen_ha, openser_mysql.sh, openser_postgresql.sh" from openser-1.0.1-tls_src to openser-1.1.0 that I have ? So i can bulid the database. or maybe I will get error?
Please help me...Please..
Thanks for all regards,
Ferianto
---------------------------------
How low will we go? Check out Yahoo! Messengers low PC-to-Phone call rates.
Hi,
I am having a problem with OpenSER and certain types of CPEs. The problem is
that the calls get established and the parties can talk, however after a
very short period the call gets disconnected. Any guidelines how I could
troubleshoot this?
PS: Is there anyway to see the calls disconnect cause on OpenSER? I am
currently running OpenSER with radius.
Thanks in advance,
Hamid
Hi Luis, you forgot to copy the list :-)
I'm not the right person to ask these questions. I stay a bit behind the
bleeding edge as I focus mostly on documentation from a "what everybody
needs" perspective (i.e. ONsip.org best practice configurations).
There has been several threads lately addressing some of these. Maybe
some of the developers can help out?!
g-)
Luis Silva wrote:
> Hi!
> can I just ask you 4 more things?
>
> 1 - What is the difference between $ and % ?
> 2 - is it possible to concatenate avps or strings?
> 3 - is there another way for doing the same thing as avp_subst but
> without using the avp module?
> 4 - is it possible for doing this: @contact[1].uri = "sip:"; ?
>
> Tks for the answer. these are all my questions. please help me. Tks
> in advance
> Regards
>
>
>> From: "Greger V. Teigre" <greger(a)teigre.com>
>> To: Luis Silva <lfs12(a)hotmail.com>
>> CC: serusers(a)iptel.org, jan(a)iptel.org
>> Subject: Re: SER CVS head, new select identifiers info - was - Re:
>> [Serusers]Textops with AVPs?
>> Date: Wed, 12 Jul 2006 13:41:36 +0200
>>
>> AFAIK, there is no single place to find all the @vars. It's still on
>> the to-do...
>> Jan: Could you provide some quick pointers?
>> g-)
>>
>> Luis Silva wrote:
>>>
>>> Hi Greger, where can I find the complete list of all the @vars?
>>>
>>> @from, @from.uri, @to, @to.uri, @from.tag, @from.name, @to.tag.
>>> @to.name, @from.params, @to.params, @contact, @contact.uri,
>>> @contact.params, @contact.expires, @contact.q, @via, and so on. <---
>>>
>>> Regards,Luis Silva
>>>
>>>
>>>
>>>
>>>> From: "Greger V. Teigre" <greger(a)teigre.com>
>>>> To: sip <sip(a)arcdiv.com>
>>>> CC: serusers(a)lists.iptel.org
>>>> Subject: Re: SER CVS head, new select identifiers info - was - Re:
>>>> [Serusers]Textops with AVPs?
>>>> Date: Wed, 12 Jul 2006 08:47:11 +0200
>>>>
>>>> It's in head only (0.10.x track)
>>>> g-)
>>>>
>>>> sip wrote:
>>>>> Greger,
>>>>>
>>>>> Sounds incredibly handy. Is this available only in SER head or is
>>>>> it something
>>>>> that's been around for a little while (i.e. do I have any hope of
>>>>> using it in
>>>>> ser 0.9.6) ?
>>>>>
>>>>>
>>>>> N.
>>>>>
>>>>>
>>>>> On Tue, 11 Jul 2006 21:18:38 +0200, Greger V. Teigre wrote
>>>>>
>>>>>> I repost Jan's original description of the "select identifier"
>>>>>>
>>>>> functionality. Since then, more select identifiers have been
>>>>> added, both from
>>>>> core and modules.
>>>>> g-)
>>>>>
>>>>> SER core can parse select identifiers using the configuration parser.
>>>>> A select identifiers begins with @ characters and contains several
>>>>> components/tokens delimited by . (unless it is integer component).
>>>>> Integer components are enclosed in [], for example:
>>>>>
>>>>> @contact[1].uri
>>>>>
>>>>> This identifier is converted into binary structure which contains the
>>>>> array of components. After that the parser tries to lookup function
>>>>> that matches the identifier.
>>>>>
>>>>> Available functions are arranged in a tree-like structure. When
>>>>> looking up a function the tree is traversed (starting at the root)
>>>>> until the parser finds corresponding function. The part of the tree
>>>>> containing TLS functions looks like:
>>>>>
>>>>> "tls"-+-"peer"-+-"subj"-+-"name" (select_peer_name())
>>>>> | \
>>>>> | "state" (select_peer_state())
>>>>> |
>>>>> +-"issuer"-+-"name" (select_peer_issuer_name())
>>>>> \
>>>>> "state" (select_peer_issuer_state())
>>>>>
>>>>> Thus when you write @tls.peer.subj.state in the configuration file
>>>>> then the parser will traverse the tree until it reaches
>>>>> select_peer_state() function and then it would remember that this
>>>>> function should be called.
>>>>>
>>>>> The tree of identifiers and functions is built dynamically at
>>>>> runtime.
>>>>> This is a nice feature becase this way modules can register their
>>>>> own
>>>>> functions or whole subtrees and make their functions available in
>>>>> the
>>>>> configuration file.
>>>>>
>>>>> Thus if you load TLS module then all @tls.* selects become avaiable,
>>>>> if you do not load the module they are not available. Only a
>>>>> couple of
>>>>> core functions and the framework is built in the core, the rest
>>>>> can be
>>>>> in modules.
>>>>>
>>>>> This framework is currently used in tls and xmlrpc modules. XMLRPC
>>>>> module exports the name of the XML-RPC method to the script. TLS
>>>>> module exports information from TLS layer.
>>>>>
>>>>> The SER core itself contains a couple of functions that can retrieve
>>>>> various parts of a SIP message:
>>>>>
>>>>> @from, @from.uri, @to, @to.uri, @from.tag, @from.name, @to.tag.
>>>>> @to.name, @from.params, @to.params, @contact, @contact.uri,
>>>>> @contact.params, @contact.expires, @contact.q, @via, and so on.
>>>>>
>>>>> TLS related functions are described in a separate email.
>>>>>
>>>>>> sip wrote: Sounds like something I might look more into. Thanks,
>>>>>> Greger. Is
>>>>>>
>>>>> there
>>>>> anything written more about @var constructs? I checked the admin
>>>>> guide (I
>>>>> know... that was kind of silly considering how out of date it is
>>>>> ;) ), and
>>>>> tried to do a search in Google (it seems to ignore the @, so @var
>>>>> just gives
>>>>> me every message with the word 'var' in it) and didn't see
>>>>> anything. Is there
>>>>> anything over at OnSIP discussing it?
>>>>>
>>>>> N.
>>>>>
>>>>> On Tue, 11 Jul 2006 08:35:11 +0200, Greger V. Teigre wrote
>>>>> If this functionality was added in later openser versions than
>>>>> 0.9,
>>>>> it will most likely not be in SER. What you are describing is
>>>>> hard to do with the avpops version in 0.9. The avpops module was
>>>>> generic enough to do more than it was designed for; making some
>>>>> code operations quite dirty in 0.9 (using the ruri as a temporary
>>>>> storage while manipulating a variable). SER head uses @var to more
>>>>> directly access data instead of going through a module. You may
>>>>> want to have a look at it! g-)
>>>>>
>>>>> sip wrote:
>>>>> Is there a version of textops that can do substs with AVPs that
>>>>> will work on
>>>>> SER 0.9.6 or is that an openSER-only modification of the code?
>>>>>
>>>>> I'm curious because we're ALSO running into the issues of charging
>>>>> the
>>>>> call-forwarding user for forwarding a call to the PSTN instead of
>>>>> charging the
>>>>> calling party. Ideally, I'd like to rewrite the from address
>>>>> solely for the
>>>>> purpose of authenticating the user who's doing the forwarding and
>>>>> charging him
>>>>> for the call, but that would likely break things as there'd be no
>>>>> way to get
>>>>> back to the original user if I just rewrote the from username.
>>>>>
>>>>> SO, I thought, why not let the b2bua handle the details and just
>>>>> forward a uri
>>>>> with a prefix string that includes the user who's forwarding the
>>>>> call (the
>>>>> original RURI instead of just the rewritten one).
>>>>>
>>>>> And there's the trick. How do I craft a RURI out of bits and
>>>>> pieces of things
>>>>> into one long RURI?
>>>>>
>>>>> If it were all the same number, I could use prefix, but it's
>>>>> dynamic (as is
>>>>> the nature of most things), so prefix won't work.
>>>>>
>>>>> How do I take
>>>>>
>>>>> RURI=1105
>>>>>
>>>>> And add to it:
>>>>>
>>>>> The rewritten RURI from the call forwarding info: 18005551212
>>>>>
>>>>> AND the prefix for the b2bua auth: 9999
>>>>>
>>>>> To make:
>>>>>
>>>>> new ruri: 9999110518005551212
>>>>>
>>>>> N.
>>>>> _______________________________________________
>>>>> Serusers mailing list
>>>>> Serusers@lists.iptel.orghttp://lists.iptel.org/mailman/listinfo/serusers
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>> _______________________________________________
>>>> Serusers mailing list
>>>> Serusers(a)lists.iptel.org
>>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
>>>
>
>
>