[Serusers] Turn 3xx into new Invite

Greger V. Teigre greger at teigre.com
Fri Feb 25 13:45:31 CET 2005


Please have a look at this thread:
http://lists.iptel.org/pipermail/serusers/2004-December/014096.html

(Martin, you have already seen parts of it, the one on Juha's patch)

It discusses some of the accounting issues around REFER.
g-)

Martin Koenig wrote:
> Hi everyone,
>
> lets discuss: What would be the best way to handle 3xx / REFER in
> combination with PSTN gateways and Accounting?
>
> I think there is no other way than a proxy interception of these
> methods, creating a new call-leg with new RURI.
>
> What do you think?
>
> Regards,
> Martin
>
> Daniel-Constantin Mierla schrieb:
>
>> in the onreply_route is processed only the reply, you can't send from
>> there any request.
>>
>> Daniel
>>
>>
>> On 02/22/05 19:56, Paul Belanger wrote:
>>
>>> Just got a reply from a fellow SER user to add append_branch()
>>> fuction, but I still cannot see the INVITE from my SER.
>>>
>>> onreply_route[1] {
>>>       xlog("L_NOTICE", "Reply status %rs: Reason %rr\n");
>>>       if (t_check_status("302")) {
>>>               xlog("L_NOTICE", "We got a 302!!!!!\n");
>>>            ## Used to send INVITE message? ##
>>>             append_branch();
>>>       };
>>> }
>>> -----Original Message-----
>>> From: Martin Koenig [mailto:martin.koenig at toplink-plannet.de] Sent:
>>> Tuesday, February 22, 2005 11:33 AM
>>> To: Paul Belanger
>>> Cc: serusers at lists.iptel.org
>>> Subject: Re: [Serusers] Turn 3xx into new Invite
>>>
>>>
>>> Hello,
>>>
>>> see:
>>> http://lists.iptel.org/pipermail/serusers/2004-December/014107.html looks 
>>> like Juha Heinänen has a patch for this available somewhere,
>>> maybe he would like to share this?
>>>
>>> Regards,
>>> Martin
>>>
>>> Paul Belanger schrieb:
>>>
>>>
>>>
>>>> Ya, I have looked at that one, but I can see how it sends out the
>>>> INVITE.
>>>>
>>>> -----Original Message-----
>>>> From: Martin Koenig [mailto:martin.koenig at toplink-plannet.de]
>>>> Sent: Tuesday, February 22, 2005 11:09 AM
>>>> To: Paul Belanger
>>>> Cc: serusers at lists.iptel.org
>>>> Subject: Re: [Serusers] Turn 3xx into new Invite
>>>>
>>>>
>>>> Hello,
>>>>
>>>> there is this one so far:
>>>>
>>>> http://lists.iptel.org/pipermail/serusers/2004-August/010977.html
>>>>
>>>> Didn't really help...
>>>>
>>>> Regards,
>>>> Martin
>>>>
>>>> Paul Belanger schrieb:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Rumor has it yes, but I have not been successful.  I posted a
>>>>> question last week, and was told to search the archives.  I did,
>>>>> but not much came up!
>>>>>
>>>>> http://www.google.ca/search?hl=en&q=302+site%3Amail.iptel.org&btnG=Goo
>>>>> g
>>>>> le+Search&meta=
>>>>>
>>>>> I think I'm on the right track, but don't have time today to play
>>>>> with it.  Here is what I got so far:
>>>>>
>>>>> #
>>>>> # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
>>>>> #
>>>>> # simple quick-start config script
>>>>> #
>>>>>
>>>>> # ----------- global configuration parameters
>>>>> ------------------------ 
>>>>>
>>>>> #debug=3         # debug level (cmd line: -dddddddddd)
>>>>> #fork=yes
>>>>> #log_stderror=no        # (cmd line: -E)
>>>>>
>>>>> debug=3
>>>>> fork=no
>>>>> log_stderror=yes
>>>>>
>>>>> check_via=no    # (cmd. line: -v)
>>>>> dns=no           # (cmd. line: -r)
>>>>> rev_dns=no      # (cmd. line: -R)
>>>>> #port=5060
>>>>> #children=4
>>>>> fifo="/tmp/ser_fifo"
>>>>>
>>>>> # ------------------ module loading
>>>>> ---------------------------------- 
>>>>>
>>>>> # Uncomment this if you want to use SQL database
>>>>> #loadmodule "/usr/local/lib/ser/modules/mysql.so"
>>>>>
>>>>> loadmodule "/usr/local/lib/ser/modules/sl.so"
>>>>> loadmodule "/usr/local/lib/ser/modules/tm.so"
>>>>> loadmodule "/usr/local/lib/ser/modules/rr.so"
>>>>> loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
>>>>> loadmodule "/usr/local/lib/ser/modules/usrloc.so"
>>>>> loadmodule "/usr/local/lib/ser/modules/registrar.so"
>>>>> loadmodule "/usr/local/lib/ser/modules/xlog.so"
>>>>>
>>>>> # Uncomment this if you want digest authentication
>>>>> # mysql.so must be loaded !
>>>>> #loadmodule "/usr/local/lib/ser/modules/auth.so"
>>>>> #loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>>>>>
>>>>> # ----------------- setting module-specific parameters
>>>>> --------------- 
>>>>>
>>>>> # -- usrloc params --
>>>>>
>>>>> modparam("usrloc", "db_mode",   0)
>>>>>
>>>>> # Uncomment this if you want to use SQL database
>>>>> # for persistent storage and comment the previous line
>>>>> #modparam("usrloc", "db_mode", 2)
>>>>>
>>>>> # -- auth params --
>>>>> # Uncomment if you are using auth module
>>>>> #
>>>>> #modparam("auth_db", "calculate_ha1", yes)
>>>>> #
>>>>> # If you set "calculate_ha1" parameter to yes (which true in this
>>>>> config), # uncomment also the following parameter) #
>>>>> #modparam("auth_db", "password_column", "password")
>>>>>
>>>>> # -- rr params --
>>>>> # add value to ;lr param to make some broken UAs happy
>>>>> modparam("rr", "enable_full_lr", 1)
>>>>>
>>>>> modparam("tm", "fr_inv_timer", 15 )
>>>>> modparam("tm", "fr_timer", 10 )
>>>>>
>>>>> # -------------------------  request routing logic
>>>>> ------------------- 
>>>>>
>>>>> # main routing logic
>>>>>
>>>>> route{
>>>>>
>>>>>      # initial sanity checks -- messages with
>>>>>      # max_forwards==0, or excessively long requests
>>>>>      if (!mf_process_maxfwd_header("10")) {
>>>>>              sl_send_reply("483","Too Many Hops");
>>>>>              break;
>>>>>      };
>>>>>      if ( msg:len > max_len ) {
>>>>>              sl_send_reply("513", "Message too big");
>>>>>              break;
>>>>>      };
>>>>>
>>>>>      # we record-route all messages -- to make sure that
>>>>>      # subsequent messages will go through our proxy; that's
>>>>>      # particularly good if upstream and downstream entities
>>>>>      # use different transport protocol
>>>>>      record_route();
>>>>>      # loose-route processing
>>>>>      if (loose_route()) {
>>>>>              t_relay();
>>>>>              break;
>>>>>      };
>>>>>
>>>>>      # if the request is for other domain use UsrLoc
>>>>>      # (in case, it does not work, use the following command
>>>>>      # with proper names and addresses in it)
>>>>>      if (uri==myself) {
>>>>>
>>>>>              if (method=="REGISTER") {
>>>>>                      save("location");
>>>>>                      break;
>>>>>              };
>>>>>      };
>>>>>
>>>>>
>>>>>      if (method=="INVITE") {
>>>>>              rewritehostport("216.143.130.70:5060");
>>>>>              t_on_reply("1");
>>>>>              t_on_failure("1");
>>>>>              t_relay();
>>>>>              break;
>>>>>      }
>>>>>
>>>>> }
>>>>>
>>>>> onreply_route[1] {
>>>>>      xlog("L_NOTICE", "Reply status %rs: Reason %rr\n");
>>>>>      if (t_check_status("302")) {
>>>>>              xlog("L_NOTICE", "We got a 302!!!!!\n");
>>>>>              ## ADD CODE TO SEND OUT INVITE!! ###
>>>>>      };
>>>>> }
>>>>>
>>>>> failure_route[1] {
>>>>>      xlog("L_NOTICE", "Failure status %rs: Reason %rr\n"); }
>>>>>
>>>>> Let me know if you find any information.
>>>>>
>>>>> Paul
>>>>>
>>>>> -----Original Message-----
>>>>> From: serusers-bounces at lists.iptel.org
>>>>> [mailto:serusers-bounces at lists.iptel.org] On
>>>>> Behalf Of Martin Koenig
>>>>> Sent: Tuesday, February 22, 2005 11:00 AM
>>>>> To: serusers at lists.iptel.org
>>>>> Subject: [Serusers] Turn 3xx into new Invite
>>>>>
>>>>>
>>>>> Hello,
>>>>>
>>>>> is it possible to take 3xx-responses in a reply_route and turn
>>>>> them into
>>>>> a new INVITE on Ser using append_branch or simliar?
>>>>>
>>>>> Regards,
>>>>> Martin
>>>>>
>>>>> _______________________________________________
>>>>> Serusers mailing list
>>>>> serusers at lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> serusers at lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
>>>
>>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers 




More information about the sr-users mailing list