[Serusers] Turn 3xx into new Invite
Martin Koenig
martin.koenig at toplink-plannet.de
Fri Feb 25 12:58:18 CET 2005
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
>>
>>
>>
>
More information about the sr-users
mailing list