Re: [OpenSIPS-Users] T.38 detection/redirect in OpenSIPS

2010-03-17 Thread Jeff Kronlage
I'm confused on this as well - wouldn't you be effectively placing two
calls (one via a non-T38 gateway, one via a T38 gateway) to the same
destination?  Figuring that most T38 is going to terminate to a single
analog device, I would think that were this possible at a SIP level, the
device would already be busy before the second call came in as fax
machines don't typically drop the line very rapidly?

Jeff

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Wednesday, March 17, 2010 11:23 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] T.38 detection/redirect in OpenSIPS

right, that is exactly what the b2b is up to do - to be able (at 
signalling level) to manipulate the call legs

Regards,
Bogdan

Brett Nemeroff wrote:
 Bogdan,
 But at this point, you are now playing with a dialg that is already
 connected to an endpoint. You'd need to drop the first call to
 establish a new call with the reinvite. Right?
 -Brett

 On Mar 17, 2010, at 11:50 AM, Bogdan-Andrei Iancu
bog...@voice-system.ro
   wrote:

   
 Hi Brett,

 Brett Nemeroff wrote:
 
 I don't think there is any way to do this without an RTP capable
 device in the mix.
   
 you do not need to look into RTP as the FAX is advertised in the
 re-INVITE (in SDP) - so you can detect it from opensips script by
 inspecting the SDP of reINVITES
 
 What you may be able to do is have asterisk detect that it's a fax,
 then reject it if it is.. I don't know if you can do all that
without
 answering the call.
   
 no, you cannnot, as first the call is established (from sip point of
 view) as a simple audio call and after that re-negotiated (via
 re-INVITE) for FAX
 
 Then you can forward it back to the proxy if it is a fax with maybe
a
 prefix.

 A lot of assumptions in there. Would like to hear if you find
 something that works. Not sure if you can SIP Spiral yet in asterisk
 anyway. ;)
   
 I do not see the need of Asterisk - maybe with some changes, the b2b
 module will be able to handle this - see my prev email.

 Regards,
 Bogdan

 
 -Brett


 On Wed, Mar 17, 2010 at 10:51 AM, David J. da...@styleflare.com
 mailto:da...@styleflare.com wrote:

Matt,

I am for sure probably wrong, but I think you would need
 Asterisk or
Variant to Determine that it is a Fax Call,
I dont think UAC's send T38 information without negotiating with
 the
other side who request that it is capable, then it brings you to
Jeff's
answer.

See above.


Matthew S. Crocker wrote:
   
 Can OpenSIPS make routing decisions based on the SDP information
 
in an INVITE?
   
 Lets say I have the following config

 PSTN - t.38 Gateway - OpenSIPS -  UserAgent

 I have a TN from the PSTN routed to the UserAgent,  I'd like to
 
provide a service so the user can use the TN for both voice 
 faxing.
   
 Voice call goes through normally (g.711 g.729 codec)

 Fax call starts off as a normal voice call (INVITE, 180, 183,
 
200).  Once the call is answered the originating end (PSTN)
starts
sending fax tones. The Gateway hears the fax tones and attempts
to
RE-INVITE with T.38 in the SDP.  I'd like OpenSIPS to see the
T.38
capability in the SDP and redirect the call to a fax-e-mail
gateway.  So,  the 2nd INVITE comes in, OpenSIPS sends the INVITE
to the fax gateway and a BYE to the user.  The fax gateway does a
200 and negotiates T.38 with the PSTN gateway.
   
 I know I can route the call through Asterisk and have it do a
 
quiet answer and listen for the modem sounds.  I'd like to avoid
using Asterisk for all RTP traffic and only use it for the fax
gateway traffic (i.e. once it has been determined to be a fax
Asterisk steps in and handled the T38 - E-mail)
   
 -Matt


 
___
Users mailing list
Users@lists.opensips.org mailto:Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


 ---

-

 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users

   
 --
 Bogdan-Andrei Iancu
 www.voice-system.ro


 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 

 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users

   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list

Re: [OpenSIPS-Users] Can opensips handle 302 redirection?

2009-11-25 Thread Jeff Kronlage
John,

Look in to the get_redirects() function:

http://www.opensips.org/html/docs/modules/devel/uac_redirect.html#id2285
91

Jeff K

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of John Quick
Sent: Wednesday, November 25, 2009 7:23 AM
To: users@lists.opensips.org
Subject: [OpenSIPS-Users] Can opensips handle 302 redirection?

Is it possible for opensips to trap a 302 Temporarily moved reply
following an INVITE? I would like
to check if the requested new Contact address contained in the reply
packet is acceptable. If it is,
opensips will add a new branch and drop the 302 response. If it is not
then I would want to redirect
the call to a media server or voicemail server to inform the caller of
the problem.

I have already tried several ideas using onreply_route and
failure_route, but neither of these route
blocks has both access to the $ct.fields(uri) of the reply (where the
requested divert address is
stored) and the capability of appending a new branch.

I also tried using dialog values to store $ct.fields(uri) in
onreply_route and then fetch the value
back again in failure_route, but it returns null. ($DLG_status is
shown as 1 in both onreply and
failure route blocks even if I call create_dialog() before relaying the
Invite).

Any help greatly appreciated.

John Quick

P.S. I got no response to my last question about processing the uri of
each branch in a destination
set returned by exec_dset(). Can anyone help with that?


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Any word on the B2B bug?

2009-11-20 Thread Jeff Kronlage
Anca,

Thanks *so* much - I really appreciate your effort!

--
Jeff Kronlage
Data102


-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
Sent: Friday, November 20, 2009 9:07 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Any word on the B2B bug?

Hi Jeff,

I have fixed it (with a bit of delay than what I promised :) ). Please 
update from svn.

Thanks and regards,
Anca

Jeff Kronlage wrote:

 Hi Anca,

 One of my coworkers is on the devel mailing list and saw the repeated 
 OK issue I was having with the B2B come through as a bug report. 
 Don't mean to be a pest or to rush anyone, but we were curious if 
 there was a timeframe on that being addressed? It would help to know 
 for our internal planning.

 Thanks so much,

 Jeff K




 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users
   


-- 
Anca Vamanu
www.voice-system.ro


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] Any word on the B2B bug?

2009-11-18 Thread Jeff Kronlage
Hi Anca,

 

One of my coworkers is on the devel mailing list and saw the repeated
OK issue I was having with the B2B come through as a bug report.
Don't mean to be a pest or to rush anyone, but we were curious if there
was a timeframe on that being addressed?  It would help to know for our
internal planning.  

 

Thanks so much,

 

Jeff K

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Any word on the B2B bug?

2009-11-18 Thread Jeff Kronlage
First of all,

Alex,

Wow, I don't really think this was necessary.  Perhaps my word choice at
5:30am was poor, and if that was the case, I apologize.

Anca,

Thanks for your quick and fantasic response.

Everyone,

I've been involved in the open source community on other projects.  I
get it.

This was not a pester. This was a serious request for ETA - if it was
going to be a month, I would have liked to know so I can pursue other
approaches of problem solving. I don't see a request for ETAs as being a
get it done! and that's certainly not how I was hoping to come across.
As we all know, it's hard to express intent/emotion over electronic
media, so let's all take a deep breath and be friends.

Cheers guys, thanks for all the hard work.

Jeff K

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Alex Balashov
Sent: Wednesday, November 18, 2009 6:03 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Any word on the B2B bug?

With all due respect, Jeff, this is a free open-source project; 
unless you have a commercial maintenance or support agreement of some 
description (in which case this mailing list is not a forum for 
communication related to internal affairs), pestering developers about 
open items is not a freedom at your disposal.

The statement Don't mean to be a pest or to rush anyone implies that 
it is within the scope of your authority or capability to rush anyone 
if you did have the inclination.  It is not.

Anca Vamanu wrote:

 Hi Jeff,
 
 I will solve it today or in the worst case tomorrow.
 
 Regards,
 Anca
 
 Jeff Kronlage wrote:
 Hi Anca,

 One of my coworkers is on the devel mailing list and saw the repeated

 OK issue I was having with the B2B come through as a bug report. 
 Don't mean to be a pest or to rush anyone, but we were curious if 
 there was a timeframe on that being addressed? It would help to know 
 for our internal planning.

 Thanks so much,

 Jeff K




 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users
   
 
 


-- 
Alex Balashov - Principal
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct  : (+1) (678) 954-0671

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] B2BUA and placing a call on hold. Bug?

2009-11-15 Thread Jeff Kronlage
Anca,

 

I've nearly got my B2BUA ready for deployment, however, in a
front-end/back-end solution, with my standard proxy configuration in the
front-end (passing calls to the B2BUA back-end), I'm having trouble
putting a call on hold.  Please note that all other functionality is
working great - REFERs, media-related reINVITEs, etc.

 

I noticed this because if I put the call on hold for too long while
attempting a REFER, I start having problems.

 

Basically, the TM module on the B2BUA keeps re-transmitting the final
200 OK.  The UAC responds to all of these with an ACK, which the B2B
passes on to the far SIP endpoint.  Eventually the UAC, getting hammered
by OKs, assumes there's a problem and sends a BYE after about 30
seconds.  Note that if I transfer during this time period, the call
stays up indefinitely.  It's only the reINVITE for hold that breaks
it.

 

My config on the B2B box is super-simplified (less than 10 lines) so I
don't think it's a configuration problem.  Happy to post B2B
confgs/debug/SIP trace/etc.  Please let me know what (if anything) is
necessary.

 

Please advise.  Thanks,

 

Jeff K

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Radius CDR records depend who hangs up first

2009-11-11 Thread Jeff Kronlage
John,

I'm not the RADIUS expert at our organization, but we do log to RADIUS
and then use CDRTool to rate calls.  

With CDRTool, we set an AVP called $avp(s:billing_party) and send it to
RADIUS, which is then written to MySQL, which is later interpreted by
CDRTool.  CDRTool uses this variable to determine who the billing party
is.  You have to be a little clever with your scripting when you set it,
however.  In your case it sounds like you're logging a BYE packet, which
could be sent by either party, and then interpreting the sender of that
packet as the billing party.  In our case, we have numerous 'if'
statements surrounding BYEs to determine which of the users was the
billable entity.

Are you using CDRTool or rating with another technique?  If an
alternative, what do you use for determining who the billing party is?

Jeff K


-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of John Quick
Sent: Wednesday, November 11, 2009 8:28 AM
To: users@lists.opensips.org
Subject: [OpenSIPS-Users] Radius CDR records depend who hangs up first

Using Opensips version 1.6.0 with radiusclient-ng and the new AAA
modules for authentication and
accounting. The radius server is configured to write CDR records to a
MySQL database. The records it
is writing to the table radius.radacct are sometimes merged into one
record per call, but other times
appear as two records per call.

The scenario for my test calls is:
Remote IP phone  Opensips    Gateway    Carrier  
mobile phone

The device making the call and the dialled number are identical - all
that is different is the person
who hangs up first. Only when the called party (mobile phone) hangs up
first do I get two CDR records.
These records both have the same Call-ID (shown in the field
AcctSessionID).

Is this behaviour expected or does it indicate some kind of
configuration problem?

John Quick
Smartvox Limited
Web: www.smartvox.co.uk



___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Transfer issue

2009-11-11 Thread Jeff Kronlage
Anca,

We've given in and started building a front-end/back-end opensips 
configuration.  The 'front end' will be based on our original script and 
perform the majority of the functions, the 'back end' being the B2BUA that will 
be involved starting at the initial invite.

Is there any possibility of getting a basic sample Opensips config to go along 
with the XML config for the B2BUA scenario?

Thanks,

Jeff K

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
Sent: Tuesday, November 10, 2009 1:43 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Transfer issue

Hi Jeff,

Jeff Kronlage wrote:
 Anca,

 Thanks for the quick reply.  I tried as you suggested, on a development box, 
 and while it didn't work, it did look a lot more like what I was expecting to 
 see.  

 However, I guess I am looking for more of a tack on solution for what I've 
 already developed.  The right answer may be to not support REFERs.  Is 
 there any way to modify the script scenario to -just- pick up from the REFER 
 and still bridge in the first call leg?  It's OK if the answer is 'no', I 
 just need to know what my options are.

   
I am sorry, but the answer is really no. The B2BUA must be in the middle 
of the call from the beginning.

Regards,
Anca

 Thanks,

 Jeff K

 -Original Message-
 From: users-boun...@lists.opensips.org 
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
 Sent: Monday, November 09, 2009 7:17 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Transfer issue

 Hi Jeff,


 Jeff Kronlage wrote:
   
 Anca,

 The key pieces of my config file are:

 Loadmodule tm.so
 loadmodule b2b_entities.so
 loadmodule b2b_logic.so

 modparam(tm, pass_provisional_replies, 1)
 modparam(b2b_entities,server_address,sip:opens...@myproxyabc.com)
 modparam(b2b_logic, script_scenario, 
 /usr/local/etc/opensips/refer_script.xml)
 modparam(b2b_entities, script_req_route, b2b_request)
 modparam(b2b_entities, script_reply_route, b2b_reply)

 ...and down in route[1], just prior to where I would normally call t_relay():

 if (is_method(REFER)) {
  b2b_init_request(refer);
  exit;
 }

   
 
 No, no, no, you should no  call b2b_init_request for REFER but for the 
 initial INVITE - since the B2BUA must but itself in the middle of the 
 call from the beginning.


   
 The contents of /usr/local/etc/opensips/refer_script.xml:

 ?xml version=1.0?
 scenario id=refer name=Handle refer at server param=0 type=script
   init
 bridge
   server
 idserver1/id
   /server
   client
 idclient1/id
 typemessage/type
 destination
   value type=initialserver1/value
 /destination
   /client
 /bridge
   /init

   rules
  request
refer
  rule id=1
action
  send_reply
code202/code
reasonAccepted/reason
  /send_reply
  end_dialog_leg/
  bridge
client
  peer/
/client
client
  idclient2/id
  destination
value type=headerRefer-To/value
  /destination
/client
  /bridge
/action
  /rule
/refer
 /request
   /rules
 /scenario

 So I believe I've done everything you've suggested?  The only thing that was 
 a little strange is that when I compiled from the svn, I had to edit 
 /parser/parse_fline.h.  I had found items such as INVITE_LEN in there, and 
 my compiler complained that REFER_LEN, as well as several other variables, 
 were undefined.  I modified this section of parse_fline.h to the following:

 #define INVITE  INVITE
 #define CANCEL  CANCEL
 #define ACK ACK
 #define BYE BYE
 #define INFOINFO
 #define PRACK   PRACK
 #define REFER   REFER
 #define SUBSCRIBE   SUBSCRIBE
 #define NOTIFY  NOTIFY
 #define MESSAGE MESSAGE

 #define INVITE_LEN 6
 #define CANCEL_LEN 6
 #define ACK_LEN 3
 #define BYE_LEN 3
 #define INFO_LEN 4
 #define PRACK_LEN 5
 #define REFER_LEN 5
 #define SUBSCRIBE_LEN 9
 #define NOTIFY_LEN 6
 #define MESSAGE_LEN 7

   
 
 I forgot to commit the parse_fline.h file on friday. I have commited it 
 today. You can delete yours and update from svn.

 Regards,
 Anca
   
 Please advise,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org 
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
 Sent: Monday, November 09, 2009 2:34 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Transfer issue

 Hi Jeff,


 It seems that the b2b module just does simple forward of REFER request 
 in your setup.
 Have you loaded the refer scenario? You can find it here: 
 http://www.opensips.org/Resources/B2buaTutorial#toc15. You have to put 
 in in a file

Re: [OpenSIPS-Users] Transfer issue

2009-11-09 Thread Jeff Kronlage
Anca,

The key pieces of my config file are:

Loadmodule tm.so
loadmodule b2b_entities.so
loadmodule b2b_logic.so

modparam(tm, pass_provisional_replies, 1)
modparam(b2b_entities,server_address,sip:opens...@myproxyabc.com)
modparam(b2b_logic, script_scenario, 
/usr/local/etc/opensips/refer_script.xml)
modparam(b2b_entities, script_req_route, b2b_request)
modparam(b2b_entities, script_reply_route, b2b_reply)

...and down in route[1], just prior to where I would normally call t_relay():

if (is_method(REFER)) {
b2b_init_request(refer);
exit;
}

The contents of /usr/local/etc/opensips/refer_script.xml:

?xml version=1.0?
scenario id=refer name=Handle refer at server param=0 type=script
  init
bridge
  server
idserver1/id
  /server
  client
idclient1/id
typemessage/type
destination
  value type=initialserver1/value
/destination
  /client
/bridge
  /init

  rules
 request
   refer
 rule id=1
   action
 send_reply
   code202/code
   reasonAccepted/reason
 /send_reply
 end_dialog_leg/
 bridge
   client
 peer/
   /client
   client
 idclient2/id
 destination
   value type=headerRefer-To/value
 /destination
   /client
 /bridge
   /action
 /rule
   /refer
/request
  /rules
/scenario

So I believe I've done everything you've suggested?  The only thing that was a 
little strange is that when I compiled from the svn, I had to edit 
/parser/parse_fline.h.  I had found items such as INVITE_LEN in there, and my 
compiler complained that REFER_LEN, as well as several other variables, were 
undefined.  I modified this section of parse_fline.h to the following:

#define INVITE  INVITE
#define CANCEL  CANCEL
#define ACK ACK
#define BYE BYE
#define INFOINFO
#define PRACK   PRACK
#define REFER   REFER
#define SUBSCRIBE   SUBSCRIBE
#define NOTIFY  NOTIFY
#define MESSAGE MESSAGE

#define INVITE_LEN 6
#define CANCEL_LEN 6
#define ACK_LEN 3
#define BYE_LEN 3
#define INFO_LEN 4
#define PRACK_LEN 5
#define REFER_LEN 5
#define SUBSCRIBE_LEN 9
#define NOTIFY_LEN 6
#define MESSAGE_LEN 7

Please advise,

Jeff

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
Sent: Monday, November 09, 2009 2:34 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Transfer issue

Hi Jeff,


It seems that the b2b module just does simple forward of REFER request 
in your setup.
Have you loaded the refer scenario? You can find it here: 
http://www.opensips.org/Resources/B2buaTutorial#toc15. You have to put 
in in a file and then set the 'script_scenario' parameter to the path of 
the file:

modparam(b2b_logic, script_scenario, path_to_scenario_refer.xml)

The you have to call the b2b_init_request function with the refer 
parameter:
b2b_init_request(refer);

Regards,
Anca


Jeff Kronlage wrote:
 Anca,

 Thanks again for your work on this.  I've gotten the b2b modules working and 
 I'm attempting to use the REFER scenario, but I'm having some confusion 
 regarding how a REFER with a B2BUA should be handled.

 My test environment looks like this:

 UA1 (softphone) ---INVITE-- [Opensips] ---PSTN_GATEWAY(UA2)-- POTS Phone
 . (Session progress/OK/etc) 
 UA1 (softphone) ---ACK--[Opensips] --- PSTN_GATEWAY(UA2)

 At this point, the first call is setup.

 UA1 (softphone) ---REFER UA2 to UA3--  [Opensips] **b2b module called**
 B2B ---REFER B2B to UA3--  PSTN_GATEWAY (UA2)
 B2B --404 NOT FOUND--  PSTN_GATEWAY (UA2)
 B2B ---404 NOT FOUND-  UA1 (softphone) 

 Obviously this fails.  Note this same problem occurs on two completely 
 separate gateways with different hardware. My questions are:

 1) Shouldn't the b2b scenario send an INVITE off to UA3, wait for the OK/ACK, 
 then simply REFER UA2 to UA3?  It seems to me that a B2B - UA3 refer (which 
 is what I appear to be getting) is out-of-dialog, and many gateways can't 
 start a dialog with a REFER anyway.
 2) If not, any ideas on what I'm doing wrong?

 The pertinent parts of my sip dump are below, beginning with the first REFER, 
 are below:

 REFER sip:18002441...@208.94.157.10:5060;transport=udp SIP/2.0
 Via: SIP/2.0/UDP 
 70.57.173.114:63390;branch=z9hG4bK-d8754z-501a700165366947-1---d8754z-;rport
 Max-Forwards: 70
 Route: sip:64.111.16.50;lr;ftag=a837e85e;did=847.0253b4b4
 Contact: sip:7194760...@70.57.173.114:63390
 To: 
 sip:18002441...@myproxyabc:5060;tag=b9d5ed0-13c4-4af6e7b5-46585e8b-24ef0427
 From: 3CXPhonesip:7194760...@myproxyabc.com:5060;tag=a837e85e
 Call-ID: NDY4YWZhMzRjMDQzZmM2MTU0YTg5YzRlZmFlMzU5NDc.
 CSeq: 4

Re: [OpenSIPS-Users] Transfer issue

2009-11-09 Thread Jeff Kronlage
Anca,

Thanks for the quick reply.  I tried as you suggested, on a development box, 
and while it didn't work, it did look a lot more like what I was expecting to 
see.  

However, I guess I am looking for more of a tack on solution for what I've 
already developed.  The right answer may be to not support REFERs.  Is there 
any way to modify the script scenario to -just- pick up from the REFER and 
still bridge in the first call leg?  It's OK if the answer is 'no', I just need 
to know what my options are.

Thanks,

Jeff K

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
Sent: Monday, November 09, 2009 7:17 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Transfer issue

Hi Jeff,


Jeff Kronlage wrote:
 Anca,

 The key pieces of my config file are:

 Loadmodule tm.so
 loadmodule b2b_entities.so
 loadmodule b2b_logic.so

 modparam(tm, pass_provisional_replies, 1)
 modparam(b2b_entities,server_address,sip:opens...@myproxyabc.com)
 modparam(b2b_logic, script_scenario, 
 /usr/local/etc/opensips/refer_script.xml)
 modparam(b2b_entities, script_req_route, b2b_request)
 modparam(b2b_entities, script_reply_route, b2b_reply)

 ...and down in route[1], just prior to where I would normally call t_relay():

 if (is_method(REFER)) {
   b2b_init_request(refer);
   exit;
 }

   
No, no, no, you should no  call b2b_init_request for REFER but for the 
initial INVITE - since the B2BUA must but itself in the middle of the 
call from the beginning.


 The contents of /usr/local/etc/opensips/refer_script.xml:

 ?xml version=1.0?
 scenario id=refer name=Handle refer at server param=0 type=script
   init
 bridge
   server
 idserver1/id
   /server
   client
 idclient1/id
 typemessage/type
 destination
   value type=initialserver1/value
 /destination
   /client
 /bridge
   /init

   rules
  request
refer
  rule id=1
action
  send_reply
code202/code
reasonAccepted/reason
  /send_reply
  end_dialog_leg/
  bridge
client
  peer/
/client
client
  idclient2/id
  destination
value type=headerRefer-To/value
  /destination
/client
  /bridge
/action
  /rule
/refer
 /request
   /rules
 /scenario

 So I believe I've done everything you've suggested?  The only thing that was 
 a little strange is that when I compiled from the svn, I had to edit 
 /parser/parse_fline.h.  I had found items such as INVITE_LEN in there, and my 
 compiler complained that REFER_LEN, as well as several other variables, were 
 undefined.  I modified this section of parse_fline.h to the following:

 #define INVITE  INVITE
 #define CANCEL  CANCEL
 #define ACK ACK
 #define BYE BYE
 #define INFOINFO
 #define PRACK   PRACK
 #define REFER   REFER
 #define SUBSCRIBE   SUBSCRIBE
 #define NOTIFY  NOTIFY
 #define MESSAGE MESSAGE

 #define INVITE_LEN 6
 #define CANCEL_LEN 6
 #define ACK_LEN 3
 #define BYE_LEN 3
 #define INFO_LEN 4
 #define PRACK_LEN 5
 #define REFER_LEN 5
 #define SUBSCRIBE_LEN 9
 #define NOTIFY_LEN 6
 #define MESSAGE_LEN 7

   
I forgot to commit the parse_fline.h file on friday. I have commited it 
today. You can delete yours and update from svn.

Regards,
Anca
 Please advise,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org 
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
 Sent: Monday, November 09, 2009 2:34 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Transfer issue

 Hi Jeff,


 It seems that the b2b module just does simple forward of REFER request 
 in your setup.
 Have you loaded the refer scenario? You can find it here: 
 http://www.opensips.org/Resources/B2buaTutorial#toc15. You have to put 
 in in a file and then set the 'script_scenario' parameter to the path of 
 the file:

 modparam(b2b_logic, script_scenario, path_to_scenario_refer.xml)

 The you have to call the b2b_init_request function with the refer 
 parameter:
 b2b_init_request(refer);

 Regards,
 Anca


 Jeff Kronlage wrote:
   
 Anca,

 Thanks again for your work on this.  I've gotten the b2b modules working and 
 I'm attempting to use the REFER scenario, but I'm having some confusion 
 regarding how a REFER with a B2BUA should be handled.

 My test environment looks like this:

 UA1 (softphone) ---INVITE-- [Opensips] ---PSTN_GATEWAY(UA2)-- POTS Phone
 . (Session progress/OK/etc) 
 UA1 (softphone) ---ACK--[Opensips] --- PSTN_GATEWAY(UA2)

 At this point, the first call is setup.

 UA1 (softphone) ---REFER UA2 to UA3--  [Opensips] **b2b module called**
 B2B ---REFER B2B to UA3

Re: [OpenSIPS-Users] Transfer issue

2009-11-08 Thread Jeff Kronlage
Anca,

Thanks again for your work on this.  I've gotten the b2b modules working and 
I'm attempting to use the REFER scenario, but I'm having some confusion 
regarding how a REFER with a B2BUA should be handled.

My test environment looks like this:

UA1 (softphone) ---INVITE-- [Opensips] ---PSTN_GATEWAY(UA2)-- POTS Phone
. (Session progress/OK/etc) 
UA1 (softphone) ---ACK--[Opensips] --- PSTN_GATEWAY(UA2)

At this point, the first call is setup.

UA1 (softphone) ---REFER UA2 to UA3--  [Opensips] **b2b module called**
B2B ---REFER B2B to UA3--  PSTN_GATEWAY (UA2)
B2B --404 NOT FOUND--  PSTN_GATEWAY (UA2)
B2B ---404 NOT FOUND-  UA1 (softphone) 

Obviously this fails.  Note this same problem occurs on two completely separate 
gateways with different hardware. My questions are:

1) Shouldn't the b2b scenario send an INVITE off to UA3, wait for the OK/ACK, 
then simply REFER UA2 to UA3?  It seems to me that a B2B - UA3 refer (which is 
what I appear to be getting) is out-of-dialog, and many gateways can't start a 
dialog with a REFER anyway.
2) If not, any ideas on what I'm doing wrong?

The pertinent parts of my sip dump are below, beginning with the first REFER, 
are below:

REFER sip:18002441...@208.94.157.10:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 
70.57.173.114:63390;branch=z9hG4bK-d8754z-501a700165366947-1---d8754z-;rport
Max-Forwards: 70
Route: sip:64.111.16.50;lr;ftag=a837e85e;did=847.0253b4b4
Contact: sip:7194760...@70.57.173.114:63390
To: 
sip:18002441...@myproxyabc:5060;tag=b9d5ed0-13c4-4af6e7b5-46585e8b-24ef0427
From: 3CXPhonesip:7194760...@myproxyabc.com:5060;tag=a837e85e
Call-ID: NDY4YWZhMzRjMDQzZmM2MTU0YTg5YzRlZmFlMzU5NDc.
CSeq: 4 REFER
Proxy-Authorization: omitted
User-Agent: 3CXVoipPhone 4.0.9530.0
Refer-To: sip:18887779...@prxdev.sip.data102.com:5060
Referred-By: 3CXPhonesip:7194760...@prxdev.sip.data102.com:5060
Content-Length: 0

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 
70.57.173.114:63390;branch=z9hG4bK-d8754z-501a700165366947-1---d8754z-;rport=63390
To: 
sip:18002441...@myproxyabc.com:5060;tag=b9d5ed0-13c4-4af6e7b5-46585e8b-24ef0427
From: 3CXPhonesip:7194760...@myproxyabc.com:5060;tag=a837e85e
Call-ID: NDY4YWZhMzRjMDQzZmM2MTU0YTg5YzRlZmFlMzU5NDc.
CSeq: 4 REFER
Server: OpenSIPS (1.6.1-notls (i386/linux))
Content-Length: 0

REFER sip:18002441...@208.94.157.10:5060 SIP/2.0
Via: SIP/2.0/UDP 64.111.16.50;branch=z9hG4bK7ea5.271c79b2.0
To: sip:18002441...@208.94.157.10:5060
From: 
sip:7194760...@myproxyabc.com:5060;tag=b9952cfdcb0f3026fcffe5bf74779956-dca7
CSeq: 2 REFER
Call-ID: B2B.462.0.1257695261
Content-Length: 0
User-Agent: OpenSIPS (1.6.1-notls (i386/linux))
Contact: sip:opens...@myproxyabc.com:5060

SIP/2.0 404 Not Found
From: 
sip:7194760...@myproxyabc.com:5060;tag=b9952cfdcb0f3026fcffe5bf74779956-dca7
To: 
sip:18002441...@208.94.157.10:5060;tag=b9d5ed0-13c4-4af6e7c2-465890d5-3ca2cb05
Call-ID: B2B.462.0.1257695261
CSeq: 2 REFER
Via: SIP/2.0/UDP 64.111.16.50;branch=z9hG4bK7ea5.271c79b2.0
Content-Length: 0

As always, help is much appreciated!

Jeff K

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Anca Vamanu
Sent: Friday, November 06, 2009 9:49 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Transfer issue

Hi,

The REFER handing support has been added in B2BUA. Please update from 
svn to use this feature.
To enable it you have to load a simple scenario document that describes 
the behavior of the B2BUA when a REFER message is received and then call 
b2b_init_request(refer) for the initial Invite message.
I have also updated the documentation page and you can find there also 
the scenario document for this feature: 
http://www.opensips.org/Resources/B2buaTutorial#toc15.

Regards,
Anca


Jeff Kronlage wrote:
 Hi Bogdan,

 Thanks for the fantastic news.

 I don't suppose you have any samples of how to interpret a REFER and perform 
 a transfer?

 I've started pouring through the documentation for the B2BUA, but I'm still 
 grinding through it :)

 Thanks,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org 
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
 Sent: Saturday, October 24, 2009 11:18 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Transfer issue

 Hi Iñaki,

 Actually this is why the B2BUA module was designed in opensips - in most 
 of the cases you need to control/change the dialog(s) but without any 
 media dependencies/penalties (like you have now in most of the IP-PBXs).

 So you actually can have a highly scalable signalling B2BUA - the 
 opensips module could

Re: [OpenSIPS-Users] Modify SDP

2009-11-04 Thread Jeff Kronlage
I use Nagios for such things... 
- Is my fly down? [5 minute interval]
- Do I have a cowlick? [3 minute interval]
Etc..

:P

Jeff

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Jeff Pyle
Sent: Wednesday, November 04, 2009 9:04 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Modify SDP

I find that throughout the day my shoelaces come untied at unpredictable
intervals.  Is it possible to modify the dialog module to keep state on them
to notify me when it happens?  Perhaps a Perl script to re-tie them?

I crack me up...




On 11/4/09 10:08 AM, Iñaki Baz Castillo i...@aliax.net wrote:

 El Miércoles, 4 de Noviembre de 2009, Victor Pascual Avila escribió:
  
 When a SIP proxy left being a SIP proxy?
 
  At the very right moment
 that fundamentalism was replaced by
  pragmatism and operational
 requirements.
 
  Thanks for your reply. I need a voicemail system for my
 opensips, could
  you please code such a module? Also a IVR module would be
 great.
 
 I believe you have some confusion about the meaning of
 operational
  requirements.

I'd would also require a Skype-SIP gateway
 module since some of my clients use 
Skype. How long would it take to develop
 this pragmatism and operational 
requirement (for free as I'm opensource
 user)?

XDDD




___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] allow_trusted - easy question

2009-10-27 Thread Jeff Kronlage
Hello all,

Easy question - 

allow_trusted() has obviously been removed from v1.6.  What's an
equivalent function, and is there anything documenting the change?

--
Jeff Kronlage
Senior IT Engineer, Data102
j...@data102.com / http://www.data102.com

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] allow_trusted - easy question

2009-10-27 Thread Jeff Kronlage
Nevermind, just found the answer

'the following functions were introduced: check_address(),
check_source_address(), get_source_group() to replace allow_address(),
allow_source_address(), allow_trusted()'

--
Jeff Kronlage
Senior IT Engineer, Data102
102 South Tejon, Suite #1250
Colorado Springs, CO 80903
(719) 387- x 1335 direct
(719) 578-8844 fax
j...@data102.com / http://www.data102.com


-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Jeff Kronlage
Sent: Tuesday, October 27, 2009 1:34 PM
To: OpenSIPS users mailling list
Subject: [OpenSIPS-Users] allow_trusted - easy question

Hello all,

Easy question - 

allow_trusted() has obviously been removed from v1.6.  What's an
equivalent function, and is there anything documenting the change?

--
Jeff Kronlage
Senior IT Engineer, Data102
j...@data102.com / http://www.data102.com

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] Bug in dialplan 1.6

2009-10-27 Thread Jeff Kronlage
Dialplan keeps reporting that I have no data in the db... turning on
MySQL logging produces the following:

select dpid,pr,match_op,match_exp,match_len,subst_exp,repl_exp,attrs
from dialplan  order by pr;

Note the extra space after the word dialplan, just before order by
pr.  Eliminating this space makes the query return results.

Jeff K
Data102

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Bug in dialplan 1.6

2009-10-27 Thread Jeff Kronlage
Getting good at responding to my own posts today-

Wacky. Doing a minor upgrade to MySQL fixed the problem -- seemed
strange that a space would've caused that issue.

Regardless, it might be a good idea to eliminate the space?

--
Jeff Kronlage
Senior IT Engineer, Data102
j...@data102.com / http://www.data102.com


-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Jeff Kronlage
Sent: Tuesday, October 27, 2009 2:56 PM
To: OpenSIPS users mailling list
Subject: [OpenSIPS-Users] Bug in dialplan 1.6

Dialplan keeps reporting that I have no data in the db... turning on
MySQL logging produces the following:

select dpid,pr,match_op,match_exp,match_len,subst_exp,repl_exp,attrs
from dialplan  order by pr;

Note the extra space after the word dialplan, just before order by
pr.  Eliminating this space makes the query return results.

Jeff K
Data102

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Transfer issue

2009-10-24 Thread Jeff Kronlage
Hi Bogdan,

Thanks for the fantastic news.

I don't suppose you have any samples of how to interpret a REFER and perform a 
transfer?

I've started pouring through the documentation for the B2BUA, but I'm still 
grinding through it :)

Thanks,

Jeff

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei Iancu
Sent: Saturday, October 24, 2009 11:18 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Transfer issue

Hi Iñaki,

Actually this is why the B2BUA module was designed in opensips - in most 
of the cases you need to control/change the dialog(s) but without any 
media dependencies/penalties (like you have now in most of the IP-PBXs).

So you actually can have a highly scalable signalling B2BUA - the 
opensips module could be used to locally (on opensips) interpret the 
REFER and do the call transfer, totally transparent to the other party.

Regards,
Bogdan

Iñaki Baz Castillo wrote:
 El Sábado, 24 de Octubre de 2009, Jeff Kronlage escribió:
   
  Our setup has been initially
  engineered for thousands of concurrent calls, and we're hoping to avoid
  having a dozen Asterisk machines :)
 

 What you are looking for is the dream all want: a scalable SIP B2BUA (no 
 media 
 handling), so a cluster of these B2BUA's would be located behind a proxy 
 (which does load balancing and failover). And it would be greater if the 
 B2BUA 
 share information (about current dialogs and so) in some way (memcache? 
 common 
 database?...).

 You could implement it with SipServlets (see Sailin SIP application server or 
 others), or FreeSwitch which allows calls without handling the media...
 Of course, Asterisk is not the most suitable solution: it involves media 
 handling (canreinvite is a hack), it has a very poor SIP stack... and 
 basically it's designed to be a single PBX box.



   


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Transfer issue

2009-10-23 Thread Jeff Kronlage
I too am interested in this issue.  Most of our users have PBXs that generate 
the second INVITE out-of-the-box, but we're about to move into residential 
service (hence my slew of NAT-related posts recently), and I'd like to have 
transfers/REFERs working natively in OpenSIPS without having to involve 
Asterisk.

My biggest question, not having moved to 1.6 or looked into the B2BUA module, 
is:  Is it possible to have opensips generate a 2nd INVITE (additional call 
leg) by capturing the REFER and using the new B2BUA module?

My secondary question, is, if not, would anyone be willing to post some basic 
documentation on how this can be achieved with Asterisk sitting behind 
Opensips (i.e. Opensips holds the registration, and does the majority of the 
call processing, and only sends packets/calls to Asterisk for features that a 
proxy isn't supposed to handle?)  

Cheers,

Jeff

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Peter den Hartog
Sent: Friday, October 23, 2009 7:22 AM
To: users@lists.opensips.org
Subject: Re: [OpenSIPS-Users] Transfer issue


ok, but i want to have my users registered to opensips. And what happend
before was this -
call from outside - asterisk did a dial to 101 in opensips - 101 ringed i
had a call..

transfer this call from 101 to 102 - i've got a new call on line two from
phone 101 to 102, but the call from the outside, was on hold on 101 on line
1..  Blind transfers work perfectly, but not the announced transfers. they
just go on hold, and when i press transfer after telling 102 that i have a
call from 101, the call just stays on 101 in hold.

How did you fix this? Do you have working announced transfers?


Iñaki Baz Castillo wrote:
 
 El Viernes, 23 de Octubre de 2009, Peter den Hartog escribió:
 Oke that is clear to me,
 
 So if i want the transfer function, i have to use a asterisk as a gateway
 (or any other pbx).
 But how do you create this new channel? i tried this before, with an
 asterisk as pbx, that received the outside calls... i've created a dial
  from asterisk to my opensips extention, but this is clearly wrong
 because
  if i try a transfer then, he tries it on the asterisk.. result the new
 destination not found..
 
 If destination not found that means that your dialplan is not correctly 
 configured. If user1 transfer to Asterisk to user2, this means that
 Asterisk 
 will look for user2 extension in the context of OpenSIPs peer. So exten
 = 
 user2 must exist there.
 
 
 What i understand from your story is that asterisk shouldn't do a dial,
 but
 a invite to the opensips extention, am i right?
 
 No, it's the same doing a dial and sending an invite. Asterisk just
 can 
 send an INVITE.
 
 
 Any ideas on how to do this?
 
 There are some doucments/howtos in OpenSIPS wiki about integration woth 
 Asterisk. Not sure if they fully cover users integration (so transfer is 
 possible and so).
 However I've this exact scenario working perfectly. It's just a taste of 
 configuration (peers and dialplan in Asterisk).
 
 
 
 
 
 Iñaki Baz Castillo wrote:
  El Viernes, 23 de Octubre de 2009, Peter den Hartog escribió:
  yeah i understand that, but why is it sending this refer to the sip
  trunk?
   i mean..
 
  it's an outside call going to a local extention, i want to transfer
 from
  1
  local extention to another, so why isn't my opensips doing this refer?
 
  Sorry but you don't seem to understand how a REFER transfer works:
 
  1) Your PSTN provider sends an INVITE to your proxy (opensips).
  2) OpenSIPS routes the call to user1.
  3) User1 answers the call and so.
  4) User1 wants to transfer the call to user2.
  5) User1 sends a REFER to *the PSTN provider* (through OpenSIPS as any
  in- dialog request).
  6) The PSTN provider accepts the refer so *initiates* a new call to
  user2.
 
  Of course point 5 will NEVER work with a PSTN provider (and shouldn't
  work at
  all!). This is why PBX/B2BUA do exist: to enable PBX features.
 
  If you just have a proxy and receive calls from a PSTN you could NEVER
  transfer that call to other user.
 
  Having a PBX/B2BUA the sceario changes and allows transference. An
  example scenario:
 
  1) Your PSTN provider sends an INVITE to your PBX (B2BUA).
  2) The PBX generates a *new* INVITE (a different dialog) to OpenSIPS.
  3) OpenSIPS routes the call to user1.
  4) User1 answers the call.
  5) User1 wants to transfer the call to user2.
  6) User1 sends a REFER to *the PBX* (through OpenSIPS as any in-dialog
  request).
  7) The PBX  provider accepts the refer so *initiates* a new call to
  user2. 8) The PSTN provider didn't realize, at all, about the
  transference.
 
 
 
 -- 
 Iñaki Baz Castillo i...@aliax.net
 
 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
 

-- 
View this message in context: 

Re: [OpenSIPS-Users] Transfer issue

2009-10-23 Thread Jeff Kronlage
I'd like to be certain I understand from these last few posts regarding
this topic-

The suggestion is to use Asterisk 'behind' Opensips, transferring calls
to it only when a B2BUA is necessary?

I certainly understand not wanting to post a config, but can anyone
share a general idea of how this is accomplished?  I'm having a hard
time picturing how to send Asterisk an out-of-context REFER, while
Opensips 'held' the call up to that point.  Perhaps I'm over-thinking
it.

Thanks,

Jeff

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Peter den Hartog
Sent: Friday, October 23, 2009 3:15 PM
To: users@lists.opensips.org
Subject: Re: [OpenSIPS-Users] Transfer issue


Hello flavio, thank you for your response.

It makes sence to me, so i have to use asterisk as a gateway infront of
opensips, and let it handle outside domains to do stuff like
invites/refers.. 

The parameter your talking about is a Asterisk parameter right? I will
look
in to this.
Thank you for the information, it's a tricky journey into opensips, but
i'm
getting there :D

Flavio Goncalves wrote:
 
 Hi Peter,
 
 You need to have support for REFER in all the SIP components, UACs 
 and Gateways. Your SIP provider seems to be refusing your REFERS with 
 the message 501 Not Implemented. The only way to workaround (as far 
 as I know) is to use a gateway before your SIP provider that 
 implements the REFER messages. You can do this using Asterisk. Handle 
 the REFERs in the same way you do with INVITEs, there is a parameter 
 called allowexternaldomains and it needs to be set to yes. The 
 security for REFERs is the same as the one used for INVITEs.
 
 Regards,
 
 Flavio E. Goncalves
 
 At 08:39 AM 10/23/2009, you wrote:
 
I moved my opensips in the network, it's now directly connected to my
sip
trunk, i can call inside, i can call outside. I can transfer inside.
But
when i try to tranfser an outside nummer i get to see this ngrep:

U 90.145.5.96:5060 - 90.145.5.83:5060
REFER sip:sip_...@217.112.112.114 SIP/2.0.
Via: SIP/2.0/UDP 90.145.5.96;branch=z9hG4bK80db89a3AE4DF976.
From:
sip:0031851110...@77.73.226.254:5060;user=phone;tag=519E7E95-45526C6
0.
To: sip:0624469...@217.112.112.114;user=phone;tag=202954455.
Route: sip:90.145.5.83;lr=on,
sip:77.73.226.254;lr=on;ftag=202954455;did=4b1.a8f7e0a5.
CSeq: 2 REFER.
Call-ID: 1975939...@217.112.112.114.
Contact: sip:1...@90.145.5.96.
User-Agent: PolycomSoundPointIP-SPIP_430-UA/1.6.7.0133.
Refer-To: sip:1...@90.145.5.83:5060.
Referred-By: sip:1...@90.145.5.83.
Max-Forwards: 70.
Content-Length: 0.
.


U 90.145.5.83:5060 - 77.73.226.254:5060
REFER sip:sip_...@217.112.112.114 SIP/2.0.
Via: SIP/2.0/UDP 90.145.5.83;branch=z9hG4bK0582.ce0b1427.0.
Via: SIP/2.0/UDP 90.145.5.96;branch=z9hG4bK80db89a3AE4DF976.
From:
sip:0031851110...@77.73.226.254:5060;user=phone;tag=519E7E95-45526C6
0.
To: sip:0624469...@217.112.112.114;user=phone;tag=202954455.
Route: sip:77.73.226.254;lr=on;ftag=202954455;did=4b1.a8f7e0a5.
CSeq: 2 REFER.
Call-ID: 1975939...@217.112.112.114.
Contact: sip:1...@90.145.5.96.
User-Agent: PolycomSoundPointIP-SPIP_430-UA/1.6.7.0133.
Refer-To: sip:1...@90.145.5.83:5060.
Referred-By: sip:1...@90.145.5.83.
Max-Forwards: 69.
Content-Length: 0.
.


U 77.73.226.254:5060 - 90.145.5.83:5060
SIP/2.0 501 Not Implemented.
Via: SIP/2.0/UDP 90.145.5.83;branch=z9hG4bK0582.ce0b1427.0.
Via: SIP/2.0/UDP 90.145.5.96;branch=z9hG4bK80db89a3AE4DF976.
From:
sip:0031851110...@77.73.226.254:5060;user=phone;tag=519E7E95-45526C6
0.
To: sip:0624469...@217.112.112.114;user=phone;tag=202954455.
Call-ID: 1975939...@217.112.112.114.
CSeq: 2 REFER.
Content-Length: 0.
.


U 90.145.5.83:5060 - 90.145.5.96:5060
SIP/2.0 501 Not Implemented.
Via: SIP/2.0/UDP 90.145.5.96;branch=z9hG4bK80db89a3AE4DF976.
From:
sip:0031851110...@77.73.226.254:5060;user=phone;tag=519E7E95-45526C6
0.
To: sip:0624469...@217.112.112.114;user=phone;tag=202954455.
Call-ID: 1975939...@217.112.112.114.
CSeq: 2 REFER.
Content-Length: 0.
.

It makes sense to me that i forgot something in my config, a refer
module
or
something? any toughts/pushes in the right direction would be greatly
appreciated!

best regards.
--
View this message in context: 
http://n2.nabble.com/Transfer-issue-tp3877950p3877950.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
 
 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users
 
 

-- 
View this message in context:
http://n2.nabble.com/Transfer-issue-tp3877950p3881352.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Transfer issue

2009-10-23 Thread Jeff Kronlage
I follow this, but -and please correct me where I'm misunderstanding- isn't the 
point of using a Proxy versus a B2BUA is that it's more lightweight and 
scalable?  It seems with this setup every call ends up routed through Asterisk 
on the initial INVITE, simply so that when a REFER potentially comes later in 
the dialog, it can handle it.  Our setup has been initially engineered for 
thousands of concurrent calls, and we're hoping to avoid having a dozen 
Asterisk machines :)

Our goal is to design something like:

UA -- Opensips -- Our PSTN gateways

That could dynamically turn into, on the fly:

UA -- Opensips -- B2BUA -- Our PSTN Gateway

We haven't found a clean way of doing this, unfortunately...  It may just end 
up being a hack on Opensips 1.6 if that might work.

Jeff

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Iñaki Baz Castillo
Sent: Friday, October 23, 2009 5:38 PM
To: users@lists.opensips.org
Subject: Re: [OpenSIPS-Users] Transfer issue

El Sábado, 24 de Octubre de 2009, Jeff Kronlage escribió:
 The suggestion is to use Asterisk 'behind' Opensips, transferring calls
 to it only when a B2BUA is necessary?

Not exactly, see below.

 
 I certainly understand not wanting to post a config, but can anyone
 share a general idea of how this is accomplished?  I'm having a hard
 time picturing how to send Asterisk an out-of-context REFER,

Why out-of-context REFER??

 while Opensips 'held' the call up to that point.  Perhaps I'm over-thinking
 it.


- user1 sends an INVITE to OpenSIPS with RURI sip:us...@domain.

- OpenSIPS doesn do a lookup, instead it routes the INVITE to Asterisk 
*without* changing the RURI username (user2).

- Asterisk receives a call from peer [opensips] to exten user2.

- Asterisk ejecutes Dial and generates an INVITE with RURI user2 and sends 
it to OpenSIPS.

- OpenSIPS receives the INVITE and, since it comes from Asterisk, now it 
*does* the lookup so retrieves the location(s) of user2, and sends there the 
INVITE.

- So now we have 2 calls:
  - user1 speaking with Asterisk (through OpenSIPS).
  - Asterisk speaking with user2 (through OpenSIPS).

- Now user1 wants to transfer the call to user3 so it sends an in-dialog REFER 
(with Refer-To: sip:us...@domain) to Asterisk.

- Asterisk accepts it and generates an INVITE to user3 sending it to 
OpenSIPS.

- OpenSIPS does the loockup for user3 and routes there the new INVITE from 
Asterisk.

- etc etc etc... and the transference (blink or attended is performed as 
usual).


Does it help you?


-- 
Iñaki Baz Castillo i...@aliax.net

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] NAT fixup question

2009-10-20 Thread Jeff Kronlage
Bogdan,

The pertinent part of my config file contains this snippet:

$var(ruriuser) = $rU;
if (has_totag()) {
xlog(DEBUG1 ru is $ru, du is $du);
if (loose_route()) {
xlog(DEBUG2 ru is $ru, du is $du);
$rU = $var(ruriuser); #Hack job


Between my first xlog and second xlog is where the change happens to the
$rU value.  I reset the $rU value at the bottom in a terrible hack job
that's getting my couple of NAT users by for the moment, but I'm
obviously not happy with the way I'm handling it.

Looking at the documentation for loose_route --
The name is a little bit confusing, as this function also routes
requests which are in the strict router format.

Does loose_route() return true if strict routing?   If not, then I
imagine that's not what's happening, because my 2nd xlog wouldn't even
execute

Also, I don't have my IP address in my local domains, and I'm not using
aliases.

Thanks,

Jeff


-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Tuesday, October 20, 2009 10:15 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] NAT fixup question

HI Jeff,

Just a wild guess - looking at the RURI and ROUTE hdrs, I would say your

opensips is doing strict routing and not loose routing - this may happen

when the IP in RURI is recognized as local SIP domain

So, have you added 64.111.17.11 IP as alias in script or in domain 
table ? if so, please remove it!

Regards,
Bogdan



Jeff Kronlage wrote:
 Please also note this only happens on reinvites - the initial invite
is
 fine.

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Jeff Kronlage
 Sent: Monday, October 19, 2009 10:33 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] NAT fixup question

 Bogdan,

 I wish I could post something useful.  I've been tinkering with this
all
 evening, the catch is that one of our sip providers does things a tad
 unusual and I have a number of normalization procedures in place that
 make it hard to output something useful for this.

 I can provide this information -

 The inbound packet is:
 22:19:32.479151 IP (tos 0x0, ttl 249, id 1369, offset 0, flags [none],
 proto UDP (17), length 539) 64.111.16.10.45463  64.YYY.XX.XX.5060:
SIP,
 length: 511
 ACK sip:719330x...@64.111.17.11:5060 SIP/2.0
 Via: SIP/2.0/UDP 192.168.1.105:5060;branch=z9hG4bK-c6f3cdea
 From:
 sip:719358z...@proxy.sip.data102.com;tag=5d371768e81ef5fci0
 To: sip:719330x...@proxy.sip.data102.com;tag=3442594C-21D0
 Call-ID: 948e57d9-bc6611de-ae38b8a5-3ada3...@64.111.17.2
 CSeq: 101 ACK
 Max-Forwards: 70
 Route:
 sip:64.YYY.XX.XX;lr=on;ftag=3442594C-21D0;did=03f.4363e5f6
 Contact: 719358 sip:719358z...@192.168.1.105:5060
 User-Agent: Linksys/SPA2102-3.3.6
 Content-Length: 0

 After I receive this packet and loose_route() is called, the RURI
 (specifically the value of $ru, as confirmed via xlog) is set to:
 sip:64.YYY.XX.XX;lr=on;ftag=3444FCF0-2256;did=10a.beb781a3
 (note this is identical to the Route field - not sure how I missed
 that prior to your mentioning it)

 A debug value of 4 produces:
 DBG:rr:after_loose: Topmost route URI:
 'sip:64.YYY.XX.XX;lr=on;ftag=33F412AC-1CD1;did=a35.17b53e66' is me
 (not sure if that is of any use)

 I'm certain this is too vague to produce a solid answer, but any idea
 where I might look next?

 Thanks,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 9:21 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] NAT fixup question

 RURI has nothing to do with the VIA part..

 Also RURI is not to be changed during loose_route(), only if you have
a 
 strict router proxy in front of youmaybe you can post the inbound 
 and outbound request (to see how the loose_route() is done)

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 The RURI.

 Thanks,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 9:13 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] NAT fixup question

 Jeff,

 the VIA hdr does not require mangling - the addition of the
received
 

   
 param is enough to handle nat issues. So the VIA you posted is
correct
 

   
 form NAT traversal point of view.

 Regarding the user part of the URI - what URI you are talking about? 
 RURI ? TO / FROM uri? Contact URI ?

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 
 Thanks Bogdan,

 An unrelated question:

 Does anything special need to be done with via statements when
 implementing NAT transversal?

 Fix_nated_contact

Re: [OpenSIPS-Users] Additional info on potential registration issue

2009-10-19 Thread Jeff Kronlage
Yes, shared location table over multiple servers.

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Sunday, October 18, 2009 10:33 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Additional info on potential registration
issue

Hi Jeff,

Do you use a shared location table (via multiple registrar servers) ?

Regards,
Bogdan

Jeff Kronlage wrote:
 I'm getting this over and over in my syslog:

 WARNING:usrloc:get_all_db_ucontacts: non-local socket
 udp:HI.DDE.N.12:5060...ignoring

 Thanks,

 Jeff

 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users

   


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Additional info on potential registration issue

2009-10-19 Thread Jeff Kronlage
Usrloc mode is 3.  

--
Jeff Kronlage
Senior IT Engineer, Data102
102 South Tejon, Suite #1250
Colorado Springs, CO 80903
(719) 387- x 1335 direct
(719) 578-8844 fax
j...@data102.com / http://www.data102.com

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Monday, October 19, 2009 11:32 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Additional info on potential registration
issue

So, this is the problem - each opensips instance loads only the usrloc 
records that have the a local socket corresponding to that instance. In 
other words, if the record was saved by the other instance, opensips 
will not load it.

what db_mode do you use for usrloc?

Regards,
Bogdan

Jeff Kronlage wrote:
 Yes, shared location table over multiple servers.

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Sunday, October 18, 2009 10:33 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
registration
 issue

 Hi Jeff,

 Do you use a shared location table (via multiple registrar servers) ?

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 I'm getting this over and over in my syslog:

 WARNING:usrloc:get_all_db_ucontacts: non-local socket
 udp:HI.DDE.N.12:5060...ignoring

 Thanks,

 Jeff

 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users

   
 


 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users

 ___
 Users mailing list
 Users@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/users

   


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] NAT fixup question

2009-10-19 Thread Jeff Kronlage
Thanks Bogdan,

An unrelated question:

Does anything special need to be done with via statements when
implementing NAT transversal?

Fix_nated_contact() takes care of the contact field for me, but I still
end up with:
Via: SIP/2.0/UDP
192.168.1.105:5060;rport=42080;received=64.YYY.XX.XX;branch=z9hG4bK-e4e5
cd84

I'm having some random problems with the user part of the URI randomly
vanishing after I call loose_route() when NAT is involved, and I'm
thinking these are related.

Thanks,

--
Jeff Kronlage
Senior IT Engineer, Data102
102 South Tejon, Suite #1250
Colorado Springs, CO 80903
(719) 387- x 1335 direct
(719) 578-8844 fax
j...@data102.com / http://www.data102.com


-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Monday, October 19, 2009 4:07 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Additional info on potential registration
issue

so DB ONLY mode..simply ignore the warning (see its meaning in my 
previous post) . The contacts will still be shared, but the socket 
information discarded.

Regards,
Bogdan

Jeff Kronlage wrote:
 Usrloc mode is 3.  

 --
 Jeff Kronlage
 Senior IT Engineer, Data102
 102 South Tejon, Suite #1250
 Colorado Springs, CO 80903
 (719) 387- x 1335 direct
 (719) 578-8844 fax
 j...@data102.com / http://www.data102.com

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 11:32 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
registration
 issue

 So, this is the problem - each opensips instance loads only the usrloc

 records that have the a local socket corresponding to that instance.
In 
 other words, if the record was saved by the other instance, opensips 
 will not load it.

 what db_mode do you use for usrloc?

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 Yes, shared location table over multiple servers.

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Sunday, October 18, 2009 10:33 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
 
 registration
   
 issue

 Hi Jeff,

 Do you use a shared location table (via multiple registrar servers) ?

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 
 I'm getting this over and over in my syslog:

 WARNING:usrloc:get_all_db_ucontacts: non-local socket
 udp:HI.DDE.N.12:5060...ignoring

 Thanks,

 Jeff


   


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] NAT fixup question

2009-10-19 Thread Jeff Kronlage
Bogdan,

I wish I could post something useful.  I've been tinkering with this all
evening, the catch is that one of our sip providers does things a tad
unusual and I have a number of normalization procedures in place that
make it hard to output something useful for this.

I can provide this information -

The inbound packet is:
22:19:32.479151 IP (tos 0x0, ttl 249, id 1369, offset 0, flags [none],
proto UDP (17), length 539) 64.111.16.10.45463  64.YYY.XX.XX.5060: SIP,
length: 511
ACK sip:719330x...@64.111.17.11:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.105:5060;branch=z9hG4bK-c6f3cdea
From:
sip:719358z...@proxy.sip.data102.com;tag=5d371768e81ef5fci0
To: sip:719330x...@proxy.sip.data102.com;tag=3442594C-21D0
Call-ID: 948e57d9-bc6611de-ae38b8a5-3ada3...@64.111.17.2
CSeq: 101 ACK
Max-Forwards: 70
Route:
sip:64.YYY.XX.XX;lr=on;ftag=3442594C-21D0;did=03f.4363e5f6
Contact: 719358 sip:719358z...@192.168.1.105:5060
User-Agent: Linksys/SPA2102-3.3.6
Content-Length: 0

After I receive this packet and loose_route() is called, the RURI
(specifically the value of $ru, as confirmed via xlog) is set to:
sip:64.YYY.XX.XX;lr=on;ftag=3444FCF0-2256;did=10a.beb781a3
(note this is identical to the Route field - not sure how I missed
that prior to your mentioning it)

A debug value of 4 produces:
DBG:rr:after_loose: Topmost route URI:
'sip:64.YYY.XX.XX;lr=on;ftag=33F412AC-1CD1;did=a35.17b53e66' is me
(not sure if that is of any use)

I'm certain this is too vague to produce a solid answer, but any idea
where I might look next?

Thanks,

Jeff

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Monday, October 19, 2009 9:21 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] NAT fixup question

RURI has nothing to do with the VIA part..

Also RURI is not to be changed during loose_route(), only if you have a 
strict router proxy in front of youmaybe you can post the inbound 
and outbound request (to see how the loose_route() is done)

Regards,
Bogdan

Jeff Kronlage wrote:
 The RURI.

 Thanks,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 9:13 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] NAT fixup question

 Jeff,

 the VIA hdr does not require mangling - the addition of the received

 param is enough to handle nat issues. So the VIA you posted is correct

 form NAT traversal point of view.

 Regarding the user part of the URI - what URI you are talking about? 
 RURI ? TO / FROM uri? Contact URI ?

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 Thanks Bogdan,

 An unrelated question:

 Does anything special need to be done with via statements when
 implementing NAT transversal?

 Fix_nated_contact() takes care of the contact field for me, but I
 
 still
   
 end up with:
 Via: SIP/2.0/UDP

 

192.168.1.105:5060;rport=42080;received=64.YYY.XX.XX;branch=z9hG4bK-e4e5
   
 cd84

 I'm having some random problems with the user part of the URI
randomly
 vanishing after I call loose_route() when NAT is involved, and I'm
 thinking these are related.

 Thanks,

 --
 Jeff Kronlage
 Senior IT Engineer, Data102
 102 South Tejon, Suite #1250
 Colorado Springs, CO 80903
 (719) 387- x 1335 direct
 (719) 578-8844 fax
 j...@data102.com / http://www.data102.com


 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 4:07 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
 
 registration
   
 issue

 so DB ONLY mode..simply ignore the warning (see its meaning in my

 previous post) . The contacts will still be shared, but the socket 
 information discarded.

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 
 Usrloc mode is 3.  

 --
 Jeff Kronlage
 Senior IT Engineer, Data102
 102 South Tejon, Suite #1250
 Colorado Springs, CO 80903
 (719) 387- x 1335 direct
 (719) 578-8844 fax
 j...@data102.com / http://www.data102.com

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 11:32 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
 
   
 registration
   
 
 issue

 So, this is the problem - each opensips instance loads only the
   
 usrloc
   
 
   
   
 
 records that have the a local socket corresponding to that instance.
 
   
 In 
   
 
 other words, if the record was saved by the other instance, opensips

 will not load it.

 what db_mode do you use for usrloc?

 Regards,
 Bogdan

 Jeff

Re: [OpenSIPS-Users] NAT fixup question

2009-10-19 Thread Jeff Kronlage
Please also note this only happens on reinvites - the initial invite is
fine.

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Jeff Kronlage
Sent: Monday, October 19, 2009 10:33 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] NAT fixup question

Bogdan,

I wish I could post something useful.  I've been tinkering with this all
evening, the catch is that one of our sip providers does things a tad
unusual and I have a number of normalization procedures in place that
make it hard to output something useful for this.

I can provide this information -

The inbound packet is:
22:19:32.479151 IP (tos 0x0, ttl 249, id 1369, offset 0, flags [none],
proto UDP (17), length 539) 64.111.16.10.45463  64.YYY.XX.XX.5060: SIP,
length: 511
ACK sip:719330x...@64.111.17.11:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.105:5060;branch=z9hG4bK-c6f3cdea
From:
sip:719358z...@proxy.sip.data102.com;tag=5d371768e81ef5fci0
To: sip:719330x...@proxy.sip.data102.com;tag=3442594C-21D0
Call-ID: 948e57d9-bc6611de-ae38b8a5-3ada3...@64.111.17.2
CSeq: 101 ACK
Max-Forwards: 70
Route:
sip:64.YYY.XX.XX;lr=on;ftag=3442594C-21D0;did=03f.4363e5f6
Contact: 719358 sip:719358z...@192.168.1.105:5060
User-Agent: Linksys/SPA2102-3.3.6
Content-Length: 0

After I receive this packet and loose_route() is called, the RURI
(specifically the value of $ru, as confirmed via xlog) is set to:
sip:64.YYY.XX.XX;lr=on;ftag=3444FCF0-2256;did=10a.beb781a3
(note this is identical to the Route field - not sure how I missed
that prior to your mentioning it)

A debug value of 4 produces:
DBG:rr:after_loose: Topmost route URI:
'sip:64.YYY.XX.XX;lr=on;ftag=33F412AC-1CD1;did=a35.17b53e66' is me
(not sure if that is of any use)

I'm certain this is too vague to produce a solid answer, but any idea
where I might look next?

Thanks,

Jeff

-Original Message-
From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
Iancu
Sent: Monday, October 19, 2009 9:21 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] NAT fixup question

RURI has nothing to do with the VIA part..

Also RURI is not to be changed during loose_route(), only if you have a 
strict router proxy in front of youmaybe you can post the inbound 
and outbound request (to see how the loose_route() is done)

Regards,
Bogdan

Jeff Kronlage wrote:
 The RURI.

 Thanks,

 Jeff

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 9:13 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] NAT fixup question

 Jeff,

 the VIA hdr does not require mangling - the addition of the received

 param is enough to handle nat issues. So the VIA you posted is correct

 form NAT traversal point of view.

 Regarding the user part of the URI - what URI you are talking about? 
 RURI ? TO / FROM uri? Contact URI ?

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 Thanks Bogdan,

 An unrelated question:

 Does anything special need to be done with via statements when
 implementing NAT transversal?

 Fix_nated_contact() takes care of the contact field for me, but I
 
 still
   
 end up with:
 Via: SIP/2.0/UDP

 

192.168.1.105:5060;rport=42080;received=64.YYY.XX.XX;branch=z9hG4bK-e4e5
   
 cd84

 I'm having some random problems with the user part of the URI
randomly
 vanishing after I call loose_route() when NAT is involved, and I'm
 thinking these are related.

 Thanks,

 --
 Jeff Kronlage
 Senior IT Engineer, Data102
 102 South Tejon, Suite #1250
 Colorado Springs, CO 80903
 (719) 387- x 1335 direct
 (719) 578-8844 fax
 j...@data102.com / http://www.data102.com


 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 4:07 PM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
 
 registration
   
 issue

 so DB ONLY mode..simply ignore the warning (see its meaning in my

 previous post) . The contacts will still be shared, but the socket 
 information discarded.

 Regards,
 Bogdan

 Jeff Kronlage wrote:
   
 
 Usrloc mode is 3.  

 --
 Jeff Kronlage
 Senior IT Engineer, Data102
 102 South Tejon, Suite #1250
 Colorado Springs, CO 80903
 (719) 387- x 1335 direct
 (719) 578-8844 fax
 j...@data102.com / http://www.data102.com

 -Original Message-
 From: users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org] On Behalf Of Bogdan-Andrei
 Iancu
 Sent: Monday, October 19, 2009 11:32 AM
 To: OpenSIPS users mailling list
 Subject: Re: [OpenSIPS-Users] Additional info on potential
 
   
 registration
   
 
 issue

 So, this is the problem

[OpenSIPS-Users] Registration problem?

2009-10-15 Thread Jeff Kronlage
Hello all,

I'm having a random registration problem I haven't had a chance to fight
yet.

Right now, 100% of my users have their SIP gateways on static, public IP
addresses.  We use static entries in the location table to route calls
to these locations presently.  We're wanting to deploy Linksys ATAs to
smaller locations, these units would be behind NAT with dynamic
addresses.  I have MediaProxy all setup and happy. Outbound calls work
great.  However, I'm a little confused about how dynamic registrations
work in OpenSIPS.

My Linksys devices re-register every 5 minutes or so.  When this
happens, I end up with multiple entries in the subscriber table.  I'd
really only like to keep the most up-to-date registration.  Any
thoughts?

My second and much larger problem is that I'm using multiple servers,
with db_mode set to 3 on the usrloc module (performance is not a concern
at the moment), and my servers randomly can't seem to locate the most
up-to-date registration.  It feels almost as if the server that received
the registration knows about it (it's in the DB table immediately, as
well) but the other boxes don't pick up on this registration for a
while.  Shouldn't a value of 3 mean always check the database?  It
doesn't seem to work as expected.  Of note, stopping/starting opensips
makes the new registration available immediately.

Any advice that would put me in the right direction would be
appreciated.

Thanks,

Jeff 

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


[OpenSIPS-Users] Additional info on potential registration issue

2009-10-15 Thread Jeff Kronlage
I'm getting this over and over in my syslog:

WARNING:usrloc:get_all_db_ucontacts: non-local socket
udp:HI.DDE.N.12:5060...ignoring

Thanks,

Jeff

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Registration problem?

2009-10-15 Thread Jeff Kronlage
Yes, location table, sorry.

I appear to have solved my problem, albeit entirely from guessing.  

I had usrloc's matching_mode set to 1.  I'm not 100% confident I understand the 
difference between using the call ID to match on registration, but I do know I 
went from perhaps a 50% chance to receive a call every few minutes to not 
having a single failure the rest of the day.

I'd love to know what I fixed.  Advice?

Jeff

-Original Message-
From: users-boun...@lists.opensips.org 
[mailto:users-boun...@lists.opensips.org] On Behalf Of Saúl Ibarra
Sent: Thursday, October 15, 2009 6:37 PM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Registration problem?

 My Linksys devices re-register every 5 minutes or so.  When this
 happens, I end up with multiple entries in the subscriber table.  I'd
 really only like to keep the most up-to-date registration.  Any
 thoughts?


Subscriber? Do you mean the location table? You should only have one
location if you sent a re-REGISTER,, right after the original register
expired... so do you have any SIP trace on that?

Regards,

-- 
/Saúl
http://www.saghul.net | http://www.sipdoc.net

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Statefull Load balancing

2009-10-13 Thread Jeff Kronlage
We do this with relative success using DNS load balancing.  Our two
boxes are randomly load balanced, not precisely half  half.  We then
use a script that fires off test SIP messages at the boxes every 60
seconds, and run a second script that removes the entry from our DNS
server should one of the boxes not respond (likewise, the script
re-inserts them when they start responding again.)

 

It's not totally optimal, but it works for us.  Frankly the biggest
problem was sharing variables across the boxes; we ended up with the
need to track concurrent number of calls on various domains, and because
those calls could originate/terminate via either box, we ended up using
a complicated database script inside Opensips to manage cumulative
variables.

 

Cheers,

 

Jeff

 

 

 

From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Josip Djuricic
Sent: Tuesday, October 13, 2009 8:46 AM
To: users@lists.opensips.org
Subject: [OpenSIPS-Users] Statefull Load balancing
Importance: High

 

Hi there,

 

Could anyone point me on how to do load balancing with opensips with
transaction sharing between 2 of these servers. I know there was few
threads about this and they usually end with UCARP or heartbeat, but I
would want to load balance between 2 opensips server with them sharing
transactions between themselves if that is possible?

 

Best regards,

 

Josip

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

2009-10-06 Thread Jeff Kronlage
Bogdan,

 

I apologize for 'beating a dead horse'.  I get that this is a
frustration we're stuck with for various reasons.  

 

I've been writing my Opensips config on a daily basis for going on six
months now, and there's still a couple of weird spots in my scripts
that drive me nuts (I literally have a comment above this code that says
NEEDS DEBUGGING).  

 

For anyone interested in the topic, please understand that I wrote this
particular fix 'under the gun', we'd just launched our product and a
handful of our customers couldn't receive calls from a network we're
peered with because their proxy server fired off an immediate reinvite
and my system couldn't accept it.  This went so far as the peered telco
beginning to call me (unsuccessfully, of course! J) because they were
getting tickets from their users unable to contact mine.

 

Having said that, I was in a hurry, and came up with the code below.  I
still to this day don't understand why calling t_check_trans() twice was
necessary, but I can say that if I eliminate one of them, the system
breaks down.  

 

Any advice?  Like any good IT/Developer type, I'd like to totally
understand what my script is doing J

 

Cheers,

 

Jeff Kronlage

Data102

 

From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Brett Nemeroff
Sent: Tuesday, October 06, 2009 7:15 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

 

Bogdan,

I presently record the 200 OK ACK in my ACC, but I don't seem to
actually utilize it for anything at present. If I did the fix jeff
mentioned, will I no longer get that ACK in ACC?

 

so performing the t_check_trans() is faster than tm module's built in
matching? I'm not sure I get why this is faster. I would have thought
that the work t_check_trans does is similar to what the tm module
already does.

 

BTW ,is this a bug that is planned to be fixed? Or should I just expect
that this scripting fix be a regular part of my scripts (if so, perhaps
it should be in the example scripts?)

 

 

Thanks,

Brett

 

On Tue, Oct 6, 2009 at 8:01 AM, Bogdan-Andrei Iancu
bog...@voice-system.ro wrote:

Hi Brett,

This is an ancient topic that needs to be solved once for all. The
bottom problem is that OpenSIPS / TM does try o match the 200OK ACK
against the INVITE transaction - and it should not do that as 200OK ACK
forms a separate transaction and it matches at dialog level, not
transaction level. Because of this, the 200OK ACK matching is not
reliable (especially if you do spirals on opensips) and it is also time
consuming.

Because of this, the 200OK ACK matching takes longer than processing of
a re-INVITE and here comes the changing in order.

IMO, this artificial / forced matching of 200 OK should be dropped.

But there are 2 modules using this:
ACC - for accounting ACK for 200 OK - not sure how many people do enable
this
OSP - no clue :D.

Regards,
Bogdan


Brett Nemeroff wrote:
 Jeff,
 Thanks for your reply. Is this in the loose route? or.. ? Does it
 break anything else? Bogdan, anyway you can explain what's going on
 here? :)
 -Brett


 On Mon, Oct 5, 2009 at 12:30 PM, Jeff Kronlage j...@data102.com

 mailto:j...@data102.com wrote:

 Brett,

 I had this same exact problem. The solution was a little clunky
 but sending the ACK out statelessly solves the problem.

 My code looks like:

 t_check_trans();

 if (is_method(ACK)  !t_check_trans()) {

 if (!forward()) sl_reply_error();

 exit;

 }

 if (!t_relay()) sl_reply_error();

 I wish I could give a more techie explanation on why this works -
 it was a hackjob answer for me. Bogdan posted an answer perhaps a
 week ago that explained it a bit.

 Cheers,

 --

 Jeff Kronlage

 Senior IT Engineer, Data102

 102 South Tejon, Suite #1250

 Colorado Springs, CO 80903

 (719) 387- x 1335 direct

 (719) 578-8844 fax


 j...@data102.com mailto:j...@data102.com /
http://www.data102.com


 *From:* users-boun...@lists.opensips.org
 mailto:users-boun...@lists.opensips.org
 [mailto:users-boun...@lists.opensips.org
 mailto:users-boun...@lists.opensips.org] *On Behalf Of *Brett
 Nemeroff
 *Sent:* Monday, October 05, 2009 9:51 AM

 *To:* users@lists.opensips.org mailto:users@lists.opensips.org

 *Subject:* [OpenSIPS-Users] Re-invite problem - 491 Request
Pending

 Hello All,

 I'm not sure where the problem is.. it's either my switch, or it's
 the customer's box.

 What's happening is the customer sends a call. As soon as the
 200OK gets back to them, they re-invite.. very fast. The reinvite
 occurs BEFORE the ACK for the 200OK makes it back to the provider.
 Because of this, when the RE-INVITE hits the provider they respond
 with 491 Request Pending, in other words, I can't process a
 re-invite because the last INVITE hasn't send me an ACK back yet

[OpenSIPS-Users] Has anyone implemented account codes?

2009-10-06 Thread Jeff Kronlage
We'd like to implement the ability to organize CDRs by account code,
and/or to restrict calling to certain areas based on code.

Rather than delve into this in detail, I am linking Verizon's
explanation of the service:
http://www22.verizon.com/longdistance/pdf/plan_acctcodes_east.pdf

Any input would be much appreciated.

Jeff Kronlage
Data102


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

2009-10-05 Thread Jeff Kronlage
Brett,

 

I had this same exact problem.  The solution was a little clunky but
sending the ACK out statelessly solves the problem.

 

My code looks like:

 

t_check_trans();

if (is_method(ACK)  !t_check_trans()) {

if (!forward()) sl_reply_error();

exit;

}

if (!t_relay()) sl_reply_error();

 

I wish I could give a more techie explanation on why this works - it was
a hackjob answer for me.  Bogdan posted an answer perhaps a week ago
that explained it a bit.

 

Cheers,

 

--

Jeff Kronlage

Senior IT Engineer, Data102

102 South Tejon, Suite #1250

Colorado Springs, CO 80903

(719) 387- x 1335 direct

(719) 578-8844 fax

j...@data102.com / http://www.data102.com http://www.data102.com 

 

From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Brett Nemeroff
Sent: Monday, October 05, 2009 9:51 AM
To: users@lists.opensips.org
Subject: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

 

Hello All,

I'm not sure where the problem is.. it's either my switch, or it's the
customer's box.

 

What's happening is the customer sends a call. As soon as the 200OK gets
back to them, they re-invite.. very fast. The reinvite occurs BEFORE the
ACK for the 200OK makes it back to the provider. Because of this, when
the RE-INVITE hits the provider they respond with 491 Request Pending,
in other words, I can't process a re-invite because the last INVITE
hasn't send me an ACK back yet. This happens over.. and over.. and over.

 

What I'm wondering is if there is a timer I can adjust for this. Seems
like OpenSIPs should know that the transaction is in a state where there
is a PENDING ACK and it shouldn't process the RE-INVITE quite yet
(Request Queued?). Perhaps that isn't a normal function of a Proxy. So I
guess I'm looking for either a timer adjustment or a way to insert some
sorta delay (sounds like a bad idea) to allow the ACK to traverse.

 

The numbers are VERY close.. the ACK actually arrives at timestamp
12.757073, but the INVITE goes to the provider at 12.755913. So in other
words, if the RE-INVITE occured 0.001161 seconds later, this wouldn't
happen. Seems like there should be something to prevent these events? (A
properly working UAC perhaps?!)

 

Any ideas?

 

Thanks,

Brett

 

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

2009-10-05 Thread Jeff Kronlage
On that note, Bogdan's reply was on the sourceforge forum's :

 

there is known issue that ACK processing is a bit slower than the
re-INVITE processing and they may swap order on opensips

what you did was to bypass TM in opensips and forward statelessly the
ACK (this is ACK is now much faster) and there is no swapping.

 

 

--

Jeff Kronlage

Senior IT Engineer, Data102

102 South Tejon, Suite #1250

Colorado Springs, CO 80903

(719) 387- x 1335 direct

(719) 578-8844 fax

j...@data102.com / http://www.data102.com

 

From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Brett Nemeroff
Sent: Monday, October 05, 2009 11:56 AM
To: OpenSIPS users mailling list
Subject: Re: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

 

Jeff,

Thanks for your reply. Is this in the loose route? or.. ? Does it break
anything else? Bogdan, anyway you can explain what's going on here? :)

-Brett

 

 

On Mon, Oct 5, 2009 at 12:30 PM, Jeff Kronlage j...@data102.com wrote:

Brett,

 

I had this same exact problem.  The solution was a little clunky but
sending the ACK out statelessly solves the problem.

 

My code looks like:

 

t_check_trans();

if (is_method(ACK)  !t_check_trans()) {

if (!forward()) sl_reply_error();

exit;

}

if (!t_relay()) sl_reply_error();

 

I wish I could give a more techie explanation on why this works - it was
a hackjob answer for me.  Bogdan posted an answer perhaps a week ago
that explained it a bit.

 

Cheers,

 

--

Jeff Kronlage

Senior IT Engineer, Data102

102 South Tejon, Suite #1250

Colorado Springs, CO 80903

(719) 387- x 1335 direct

(719) 578-8844 fax

j...@data102.com / http://www.data102.com

 

From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Brett Nemeroff
Sent: Monday, October 05, 2009 9:51 AM
To: users@lists.opensips.org
Subject: [OpenSIPS-Users] Re-invite problem - 491 Request Pending

 

Hello All,

I'm not sure where the problem is.. it's either my switch, or it's the
customer's box.

 

What's happening is the customer sends a call. As soon as the 200OK gets
back to them, they re-invite.. very fast. The reinvite occurs BEFORE the
ACK for the 200OK makes it back to the provider. Because of this, when
the RE-INVITE hits the provider they respond with 491 Request Pending,
in other words, I can't process a re-invite because the last INVITE
hasn't send me an ACK back yet. This happens over.. and over.. and over.

 

What I'm wondering is if there is a timer I can adjust for this. Seems
like OpenSIPs should know that the transaction is in a state where there
is a PENDING ACK and it shouldn't process the RE-INVITE quite yet
(Request Queued?). Perhaps that isn't a normal function of a Proxy. So I
guess I'm looking for either a timer adjustment or a way to insert some
sorta delay (sounds like a bad idea) to allow the ACK to traverse.

 

The numbers are VERY close.. the ACK actually arrives at timestamp
12.757073, but the INVITE goes to the provider at 12.755913. So in other
words, if the RE-INVITE occured 0.001161 seconds later, this wouldn't
happen. Seems like there should be something to prevent these events? (A
properly working UAC perhaps?!)

 

Any ideas?

 

Thanks,

Brett

 


___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

 

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


Re: [OpenSIPS-Users] Global Variables

2009-10-04 Thread Jeff Kronlage
Brett,

 

The $var variables are persistent per transaction.  For the entire
dialog, use dialog variables:

 

http://www.opensips.org/html/docs/modules/1.5.x/dialog.html

 

The key functions here are store_dlg_value() and fetch_dlg_value(), or
set_dlg_flag() and is_dlg_flag_set().

 

Now if you're looking to share values between different dialogs, you
could have a look at set_dlg_profile() and get_profile_size(), but I'm
not sure that's what you're looking for.  There is some great sample
code here:

 

http://www.opensips.org/Resources/DocsTutConcurrentCalls

 

I had the need to store values across multiple profiles and across
multiple servers in real-time; my solution was to use avp_db_query() and
build my own database-backended storage system that all Opensips
processes, regardless of which server they were on, could access.
Needless to say this is not a lightweight solution and I'm certain it
will require a beefy database server as we get larger, but it was the
only way I could see to make it happen...

 

Jeff

 

From: users-boun...@lists.opensips.org
[mailto:users-boun...@lists.opensips.org] On Behalf Of Brett Nemeroff
Sent: Sunday, October 04, 2009 10:27 AM
To: users@lists.opensips.org
Subject: [OpenSIPS-Users] Global Variables

 

Hey all,

I'm wondering if there is a way to use global variables? I see that $var
variables are persistent across the process, but I need something that
will persist across all processes. Right now, I'm using memcache, but
I'm not sure if I'll have race conditions relying on that as I expect
many processes to be accessing and updating the globals for every call.

 

Thanks,

Brett

 

___
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users