uac_replace_from check

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

uac_replace_from check

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

if i have understood correctly, if uac_replace_from() is called
in "auto" mode, encoded from uri is added into an extra param of r-r
header when the request is forwarded towards uas.

does the module check that reply to the request from uas really includes
the added parameter in its r-r header or is correct operation of
in-dialog requests at the mercy of the uas?

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

presence:handle_subscribe: Missing or unsupported event header field value

by Joao Gomes Pereira :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello
Im trying to use the presence X-Lite 3.0 where you can see if the other
person is away, on the phone, offline, etc
But everytime I run X-Lite I get this error in Kamailio:


[7055]: LOG: route 2
[7055]: LOG: R2 - SUBSCRIBE
[7055]: ERROR:presence:handle_subscribe: Missing or unsupported event
header field value
[7055]: ERROR:presence:handle_subscribe:         event= message-summary


In main routing, I call route 2:

        if( is_method("PUBLISH|SUBSCRIBE"))
                route(2);




route[2]
{
log(3, "LOG: route 2 \n");
        if (!t_newtran())
        {
                log(3, "LOG: R2 - t_newtran\n");
                sl_reply_error();
                exit;
        };

        if(is_method("PUBLISH"))
        {
                log(3, "LOG: R2 - PUBLISH \n");
                handle_publish();
                t_release();
        }  
        else
        if( is_method("SUBSCRIBE"))
        {
                log(3, "LOG: R2 - SUBSCRIBE\n");

                handle_subscribe();
                t_release();
        }
        exit;
       
       
        # if presence enabled, this part will not be executed
        if (is_method("PUBLISH") || $rU==null)
        {
                log(3, "LOG: R2 - PUBLISH \n");
                sl_send_reply("404", "Not here");
                exit;
        }
        return;
}



What could be missing?
Thanks
Regards
Joao Pereira

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

presence:handle_subscribe: Missing or unsupported event header field value

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Joao Gomes Pereira writes:

 > But everytime I run X-Lite I get this error in Kamailio:
 >
 >
 > [7055]: LOG: route 2
 > [7055]: LOG: R2 - SUBSCRIBE
 > [7055]: ERROR:presence:handle_subscribe: Missing or unsupported event
 > header field value
 > [7055]: ERROR:presence:handle_subscribe:         event=
 > message-summary

check with ngrep or wireshark how the subscribe message looks like.
also check that you have loaded presence_mwi.so module.

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: presence:handle_subscribe: Missing or unsupported event header field value

by Joao Gomes Pereira :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I didn't knew this module was necessary.
I was just using  presence.so or presence_xml.so

I have to compile it and I will try it.
Thanks a lot
Joao Pereira



Juha Heinanen wrote:

> Joao Gomes Pereira writes:
>
>  > But everytime I run X-Lite I get this error in Kamailio:
>  >
>  >
>  > [7055]: LOG: route 2
>  > [7055]: LOG: R2 - SUBSCRIBE
>  > [7055]: ERROR:presence:handle_subscribe: Missing or unsupported event
>  > header field value
>  > [7055]: ERROR:presence:handle_subscribe:         event=
>  > message-summary
>
> check with ngrep or wireshark how the subscribe message looks like.
> also check that you have loaded presence_mwi.so module.
>
> -- juha
>  


--
StarTel - A Rede Livre
Joao Gomes Pereira
www.startel.pt
+351 304500650
sip: gomespereira@...


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: presence:handle_subscribe: Missing or unsupported event header field value

by Joao Gomes Pereira :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Now I have "presence_mwi.so" module, but the presence ( busy, on the
phone, idle ) isnt working.

The only error Im getting is this (when I do logout with X-Lite):

[20800]: ERROR:presence:get_stored_info: record not found in hash_table
[20800]: ERROR:presence:handle_subscribe: getting stored info




Here is the code:
   if( is_method("PUBLISH|SUBSCRIBE"))
               route(2);




route[2]
{
log(3, "LOG: route 2 \n");
       if (!t_newtran())
       {
               log(3, "LOG: R2 - t_newtran\n");
               sl_reply_error();
               exit;
       };

       if(is_method("PUBLISH"))
       {
               log(3, "LOG: R2 - PUBLISH \n");
               handle_publish();
               t_release();
       }         else
       if( is_method("SUBSCRIBE"))
       {
               log(3, "LOG: R2 - SUBSCRIBE\n");

               handle_subscribe();
               t_release();
       }
       exit;
                   # if presence enabled, this part will not be executed
       if (is_method("PUBLISH") || $rU==null)
       {
               log(3, "LOG: R2 - PUBLISH \n");                
sl_send_reply("404", "Not here");
               exit;
       }
       return;
}


Thanks
Regards
Joao Pereira





Joao Gomes Pereira wrote:

> I didn't knew this module was necessary.
> I was just using  presence.so or presence_xml.so
>
> I have to compile it and I will try it.
> Thanks a lot
> Joao Pereira
>
>
>
> Juha Heinanen wrote:
>  
>> Joao Gomes Pereira writes:
>>
>>  > But everytime I run X-Lite I get this error in Kamailio:
>>  >
>>  >
>>  > [7055]: LOG: route 2
>>  > [7055]: LOG: R2 - SUBSCRIBE
>>  > [7055]: ERROR:presence:handle_subscribe: Missing or unsupported event
>>  > header field value
>>  > [7055]: ERROR:presence:handle_subscribe:         event=
>>  > message-summary
>>
>> check with ngrep or wireshark how the subscribe message looks like.
>> also check that you have loaded presence_mwi.so module.
>>
>> -- juha
>>  
>>    
>
>
>  


--
StarTel - A Rede Livre
Joao Gomes Pereira
www.startel.pt
+351 304500650
sip: gomespereira@...


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: presence:handle_subscribe: Missing or unsupported event header field value

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Joao Gomes Pereira writes:

 > Now I have "presence_mwi.so" module, but the presence ( busy, on the
 > phone, idle ) isnt working.
 >
 > The only error Im getting is this (when I do logout with X-Lite):
 >
 > [20800]: ERROR:presence:get_stored_info: record not found in hash_table
 > [20800]: ERROR:presence:handle_subscribe: getting stored info

i have no experience with xlite.  start from scratch (empty records in
presence tables, restart kamailio) and then start a sip ua that sends a
publish request and another that subscribes to it.

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

uac_replace_from check

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Juha Heinanen writes:

 > does the module check that reply to the request from uas really includes
 > the added parameter in its r-r header or is correct operation of
 > in-dialog requests at the mercy of the uas?

answering to myself, i read the source code and looks like
restore_from_reply function does not check that the r-r param that was
added when request was processed, was copied by uas to the reply or that
the reply contains the r-r header that the proxy added to the
request.

isn't this a security risk?  even without the from replacing business,
shouldn't proxy ALWAYS check that the reply contains the r-r header that
it added?  if it does not, the uac can be fooled to send in-dialog
requests to somewhere else (unless it is configured to always use this
proxy as its next hop).

so if proxy receives a request that contains a (possibly missing) r-r
header:

r-r: a,b

and it adds itself (c) there

r-r: a,b,c

when reply comes back, shouldn't the proxy check that the r-r header in
the reply starts with

r-r: a,b,c

if not, what am i missing here?

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from check

by miconda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Juha,

On 04/01/2009 10:05 AM, Juha Heinanen wrote:

> Juha Heinanen writes:
>
>  > does the module check that reply to the request from uas really includes
>  > the added parameter in its r-r header or is correct operation of
>  > in-dialog requests at the mercy of the uas?
>
> answering to myself, i read the source code and looks like
> restore_from_reply function does not check that the r-r param that was
> added when request was processed, was copied by uas to the reply or that
> the reply contains the r-r header that the proxy added to the
> request.
>
> isn't this a security risk?  even without the from replacing business,
> shouldn't proxy ALWAYS check that the reply contains the r-r header that
> it added?  if it does not, the uac can be fooled to send in-dialog
> requests to somewhere else (unless it is configured to always use this
> proxy as its next hop).
>
> so if proxy receives a request that contains a (possibly missing) r-r
> header:
>
> r-r: a,b
>
> and it adds itself (c) there
>
> r-r: a,b,c
>
> when reply comes back, shouldn't the proxy check that the r-r header in
> the reply starts with
>
> r-r: a,b,c
>
> if not, what am i missing here?
>  
Indeed, there can be an extra check there. Not sure how much protection
it adds here. When X calls Y, if caller is trusted (e.g., auth user,
trusted peer) then either call goes to costly resource (PSTN) that is
also trusted, to a local user or untrusted destination, case in which
you route only if does not cost you anything. If local users are not
trustable and use "custom UA", then replies can go to first Via,
skipping the rest of Via stack, ignoring negative replies after 200ok.
Unless there is symmetric nat and they are forced to use the proxy, the
safest will be a b2bua.

Say you get a 200OK to an INVITE with spoofed r-r, should it be dropped?

Cheers,
Daniel

--
Daniel-Constantin Mierla



_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from check

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel-Constantin Mierla writes:

 > Indeed, there can be an extra check there. Not sure how much protection
 > it adds here. When X calls Y, if caller is trusted (e.g., auth user,
 > trusted peer) then either call goes to costly resource (PSTN) that is
 > also trusted, to a local user or untrusted destination, case in which
 > you route only if does not cost you anything. If local users are not
 > trustable and use "custom UA", then replies can go to first Via,
 > skipping the rest of Via stack, ignoring negative replies after 200ok.
 > Unless there is symmetric nat and they are forced to use the proxy, the
 > safest will be a b2bua.

i don't understand, how the above relates to the security issue that i
brought up.  it has nothing to do with cost, but a possibility to make
uac send in-dialog requests so that they by-pass the proxy.  nasty
things documented earlier can happen if that is not prevented.

 > Say you get a 200OK to an INVITE with spoofed r-r, should it be
 > dropped?

definitely yes.  there could, for example, be a flag that tells if the
check needs to be done, so that you don't waste resources needlessly if
uas is trusted.

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from check

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Juha Heinanen writes:

 > definitely yes.  there could, for example, be a flag that tells if the
 > check needs to be done, so that you don't waste resources needlessly if
 > uas is trusted.

another possibility might be to write a new function into rr module

check_rr_header()

that could be called in reply_route and that would make the check that i
proposed earlier.

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from check

by miconda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On 04/01/2009 01:35 PM, Juha Heinanen wrote:

> Daniel-Constantin Mierla writes:
>
>  > Indeed, there can be an extra check there. Not sure how much protection
>  > it adds here. When X calls Y, if caller is trusted (e.g., auth user,
>  > trusted peer) then either call goes to costly resource (PSTN) that is
>  > also trusted, to a local user or untrusted destination, case in which
>  > you route only if does not cost you anything. If local users are not
>  > trustable and use "custom UA", then replies can go to first Via,
>  > skipping the rest of Via stack, ignoring negative replies after 200ok.
>  > Unless there is symmetric nat and they are forced to use the proxy, the
>  > safest will be a b2bua.
>
> i don't understand, how the above relates to the security issue that i
> brought up.  it has nothing to do with cost, but a possibility to make
> uac send in-dialog requests so that they by-pass the proxy.  nasty
> things documented earlier can happen if that is not prevented.
>  

I meant protection so that proxy does not lose control of the call. If
proper R-R processing according to specs is avoided on purpose or not by
UA, it is hard to correct something on a proxy.


>  > Say you get a 200OK to an INVITE with spoofed r-r, should it be
>  > dropped?
>
> definitely yes.  there could, for example, be a flag that tells if the
> check needs to be done, so that you don't waste resources needlessly if
> uas is trusted.
>  
It is more complex that it looks, proper ending in that stage will be:
- drop 200ok
- send negative reply upstream
- ack downstream
- bye downstream
- catch 200ok for by

If simply drop te 200ok, there will be retransmission flowing around.

Cheers,
Daniel

--
Daniel-Constantin Mierla



_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from check

by miconda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On 04/01/2009 01:56 PM, Juha Heinanen wrote:

> Juha Heinanen writes:
>
>  > definitely yes.  there could, for example, be a flag that tells if the
>  > check needs to be done, so that you don't waste resources needlessly if
>  > uas is trusted.
>
> another possibility might be to write a new function into rr module
>
> check_rr_header()
>
> that could be called in reply_route and that would make the check that i
> proposed earlier.
>  
ok, as it has to check the uac buffer from the branch of transaction,
needs to bind to tm.

Cheers,
Daniel

--
Daniel-Constantin Mierla



_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from check

by Juha Heinanen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel-Constantin Mierla writes:

 > It is more complex that it looks, proper ending in that stage will be:
 > - drop 200ok
 > - send negative reply upstream
 > - ack downstream
 > - bye downstream
 > - catch 200ok for by
 >
 > If simply drop te 200ok, there will be retransmission flowing around.

yes, it is not simple, but should be done anyway.  

what does proxy currently do, when it receives a malformed reply that
fails parsing and cannot be forward to uac?  

i consider incorrect r-r header to be the same case.  if the proxy is
able to handle the former, it should be able to handle the latter.

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

uac_replace_from again

by olivier.taylor@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hello,

I use uac_replace_from to setup a call and everythings are ok.
When the caller send a Bye, no problem.
When the caller send a CANCEL, no problem.

But when callee send a BYE to stop the call after the call has been
setup, the bye is never sent back to caller...
I also don't see any record-route header...

Any idea?
What did I forget?

Olivier



_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from again

by miconda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

On 04.11.2009 11:58 Uhr, olivier.taylor@... wrote:

>
> Hello,
>
> I use uac_replace_from to setup a call and everythings are ok.
> When the caller send a Bye, no problem.
> When the caller send a CANCEL, no problem.
>
> But when callee send a BYE to stop the call after the call has been
> setup, the bye is never sent back to caller...
> I also don't see any record-route header...
>
> Any idea?
> What did I forget?
if you do record routing and the bye from callee does not have it, then
seems to be a broken UA at the callee side.

Have you tried with different UAs?

Cheers,
Daniel

--
Daniel-Constantin Mierla
* http://www.asipto.com/


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from again

by olivier.taylor@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Daniel, long time, I am on Kamailio(1.5) now :)

ok, first of all, sorry I forgot the record-route :((
Now I have it, but the proxy doenst do anything when the Bye arrives
from the callee.
What action do I have to take if any?

What I receive for the BYE:

BYE sip:997321079@...:5060 SIP/2.0.
Via: SIP/2.0/UDP yyy.yyy.123.88:5060;branch=z9hG4bK4dd17330;rport.
Route:
<sip:0485336302@...:5060;nat=yes;ftag=5672;lr=on>,<sip:xxx.xxx.67.183;lr=on;ftag=5672;my_param=AAAAAAAAAAAAAAAACgBUWFxPXVpFWhhVSzE4Mw-->.
From: <sip:0485336302@...>;tag=as3e2ef419.
To: "997321079" <sip:997321073@...>;tag=5672.
Contact: <sip:0485336302@...>.
Call-ID: 1257324791-1991-MacBook%20de%20Olivier%20Taylor@....
CSeq: 102 BYE.
User-Agent: Phonext B2Bua.
Max-Forwards: 70.
Content-Length: 0.


Daniel-Constantin Mierla a écrit :

> Hello,
>
> On 04.11.2009 11:58 Uhr, olivier.taylor@... wrote:
>>
>> Hello,
>>
>> I use uac_replace_from to setup a call and everythings are ok.
>> When the caller send a Bye, no problem.
>> When the caller send a CANCEL, no problem.
>>
>> But when callee send a BYE to stop the call after the call has been
>> setup, the bye is never sent back to caller...
>> I also don't see any record-route header...
>>
>> Any idea?
>> What did I forget?
> if you do record routing and the bye from callee does not have it,
> then seems to be a broken UA at the callee side.
>
> Have you tried with different UAs?
>
> Cheers,
> Daniel
>



_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from again

by miconda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hello Olivier,

On 04.11.2009 12:25 Uhr, olivier.taylor@... wrote:
> Hi Daniel, long time, I am on Kamailio(1.5) now :)
not for long time :-) , 3.0 is around the corner...

>
> ok, first of all, sorry I forgot the record-route :((
> Now I have it, but the proxy doenst do anything when the Bye arrives
> from the callee.
> What action do I have to take if any?

You have to do loose_route() and if true then relay. The default config
file has sample routing of in-dialog requests (when to tag is set).

Cheers,
Daniel

>
> What I receive for the BYE:
>
> BYE sip:997321079@...:5060 SIP/2.0.
> Via: SIP/2.0/UDP yyy.yyy.123.88:5060;branch=z9hG4bK4dd17330;rport.
> Route:
> <sip:0485336302@...:5060;nat=yes;ftag=5672;lr=on>,<sip:xxx.xxx.67.183;lr=on;ftag=5672;my_param=AAAAAAAAAAAAAAAACgBUWFxPXVpFWhhVSzE4Mw-->.
>
> From: <sip:0485336302@...>;tag=as3e2ef419.
> To: "997321079" <sip:997321073@...>;tag=5672.
> Contact: <sip:0485336302@...>.
> Call-ID: 1257324791-1991-MacBook%20de%20Olivier%20Taylor@....
> CSeq: 102 BYE.
> User-Agent: Phonext B2Bua.
> Max-Forwards: 70.
> Content-Length: 0.
>
>
> Daniel-Constantin Mierla a écrit :
>> Hello,
>>
>> On 04.11.2009 11:58 Uhr, olivier.taylor@... wrote:
>>>
>>> Hello,
>>>
>>> I use uac_replace_from to setup a call and everythings are ok.
>>> When the caller send a Bye, no problem.
>>> When the caller send a CANCEL, no problem.
>>>
>>> But when callee send a BYE to stop the call after the call has been
>>> setup, the bye is never sent back to caller...
>>> I also don't see any record-route header...
>>>
>>> Any idea?
>>> What did I forget?
>> if you do record routing and the bye from callee does not have it,
>> then seems to be a broken UA at the callee side.
>>
>> Have you tried with different UAs?
>>
>> Cheers,
>> Daniel
>>
>
>

--
Daniel-Constantin Mierla
* http://www.asipto.com/


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from again

by olivier.taylor@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


hi again,

now I get a ERROR:tm:sip_msg_cloner: no more share memory on loose-route...

I must say GRRR  ;)

Olivier

Daniel-Constantin Mierla a écrit :

>
> Hello Olivier,
>
> On 04.11.2009 12:25 Uhr, olivier.taylor@... wrote:
>> Hi Daniel, long time, I am on Kamailio(1.5) now :)
> not for long time :-) , 3.0 is around the corner...
>
>>
>> ok, first of all, sorry I forgot the record-route :((
>> Now I have it, but the proxy doenst do anything when the Bye arrives
>> from the callee.
>> What action do I have to take if any?
>
> You have to do loose_route() and if true then relay. The default
> config file has sample routing of in-dialog requests (when to tag is
> set).
>
> Cheers,
> Daniel
>
>>
>> What I receive for the BYE:
>>
>> BYE sip:997321079@...:5060 SIP/2.0.
>> Via: SIP/2.0/UDP yyy.yyy.123.88:5060;branch=z9hG4bK4dd17330;rport.
>> Route:
>> <sip:0485336302@...:5060;nat=yes;ftag=5672;lr=on>,<sip:xxx.xxx.67.183;lr=on;ftag=5672;my_param=AAAAAAAAAAAAAAAACgBUWFxPXVpFWhhVSzE4Mw-->.
>>
>> From: <sip:0485336302@...>;tag=as3e2ef419.
>> To: "997321079" <sip:997321073@...>;tag=5672.
>> Contact: <sip:0485336302@...>.
>> Call-ID: 1257324791-1991-MacBook%20de%20Olivier%20Taylor@....
>> CSeq: 102 BYE.
>> User-Agent: Phonext B2Bua.
>> Max-Forwards: 70.
>> Content-Length: 0.
>>
>>
>> Daniel-Constantin Mierla a écrit :
>>> Hello,
>>>
>>> On 04.11.2009 11:58 Uhr, olivier.taylor@... wrote:
>>>>
>>>> Hello,
>>>>
>>>> I use uac_replace_from to setup a call and everythings are ok.
>>>> When the caller send a Bye, no problem.
>>>> When the caller send a CANCEL, no problem.
>>>>
>>>> But when callee send a BYE to stop the call after the call has been
>>>> setup, the bye is never sent back to caller...
>>>> I also don't see any record-route header...
>>>>
>>>> Any idea?
>>>> What did I forget?
>>> if you do record routing and the bye from callee does not have it,
>>> then seems to be a broken UA at the callee side.
>>>
>>> Have you tried with different UAs?
>>>
>>> Cheers,
>>> Daniel
>>>
>>
>>
>



_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from again

by olivier.taylor@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

well, I am lost, but not yet drunk.

In fact :

I Ihave a kamailio used to receive calls from an IP with no identification.
I detect the IP, query the DB to know who have to be billed.

Then I use uac_replace_from and also uac_auth to have the caller
authorisation on the main server.

No problems to setup the call.

the only problem is the hangup when the callee send a BYE, the BYE is
never forwarded to the caller...


Here is my cfg


# ------------------ module loading ----------------------------------

mpath="/usr/local/lib/kamailio/modules/"

loadmodule "avpops.so"
loadmodule "textops.so"
loadmodule "siputils.so"
loadmodule "xlog.so"

loadmodule "sl.so"
loadmodule "pv.so"
loadmodule "rr.so"
modparam("rr", "enable_full_lr", 1)
loadmodule "tm.so"
loadmodule "uac.so"
modparam("uac","credential","username:domain:password")
modparam("uac", "auth_username_avp", "$avp(i:1)")
modparam("uac", "auth_password_avp", "$avp(i:2)")
modparam("uac","auth_realm_avp","$avp(i:3)")
modparam("uac","from_restore_mode","auto")
modparam("uac","rr_store_param","my_param")
modparam("uac","from_passwd","")        # for testing purpose


loadmodule "db_mysql.so"
modparam("avpops","db_url","mysql://openser:openserrw@.../openser")
modparam("avpops","avp_table","preferences")
modparam("avpops","attribute_column","pref_name")
modparam("avpops","value_column","pref_value")
modparam("avpops","uuid_column","pref_id")

# ----------------- setting module-specific parameters ---------------

# -- tm params --
# set time for which ser will be waiting for a final response;
# fr_inv_timer sets value for INVITE transactions, fr_timer
# for all others
#modparam("tm", "fr_inv_timer", 15 )
#modparam("tm", "fr_timer", 10 )

# -------------------------  request routing logic -------------------

# main routing logic

route{
    # for testing purposes, simply okay all REGISTERs
    if (method=="REGISTER")
    {
        log("REGISTER");
        sl_send_reply("200", "ok");
        exit;
    };
   
    if (is_method("INVITE"))
    {
        record_route();
        uac_replace_from("sip:997321073@...");
        rewritehost("xxxxxx.be");
    }
   
   
    if (has_totag()) {
        if (loose_route()) {
            if (is_method("BYE")) {  
                xlog("L_NOTICE", "------------------>  LOOSE route");
                t_relay();
                if (!t_relay()) {
                    sl_reply_error();
                }

                exit;
            }
        }
    }
    t_on_failure("1");

    t_relay();
}

failure_route[1]
{
    if (t_check_status("407"))
    {
        avp_db_query("SELECT username, password, 'finalcut.be' FROM
subscriber WHERE username = 'zzzzzzzz'", "$avp(i:1);$avp(i:2);$avp(i:3)");
        uac_auth();
        append_branch();
        t_relay();
    }
}


>


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Re: uac_replace_from again

by miconda :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hello,

do you have bit shared memory consumers? e.g., many records in user
location, lot of traffic... if yes, increase the shared memory size via
command line parameter: -m 128

The value is in megabytes.

Cheers,
Daniel


On 04.11.2009 13:04 Uhr, olivier.taylor@... wrote:

>
> hi again,
>
> now I get a ERROR:tm:sip_msg_cloner: no more share memory on
> loose-route...
>
> I must say GRRR  ;)
>
> Olivier
>
> Daniel-Constantin Mierla a écrit :
>>
>> Hello Olivier,
>>
>> On 04.11.2009 12:25 Uhr, olivier.taylor@... wrote:
>>> Hi Daniel, long time, I am on Kamailio(1.5) now :)
>> not for long time :-) , 3.0 is around the corner...
>>
>>>
>>> ok, first of all, sorry I forgot the record-route :((
>>> Now I have it, but the proxy doenst do anything when the Bye arrives
>>> from the callee.
>>> What action do I have to take if any?
>>
>> You have to do loose_route() and if true then relay. The default
>> config file has sample routing of in-dialog requests (when to tag is
>> set).
>>
>> Cheers,
>> Daniel
>>
>>>
>>> What I receive for the BYE:
>>>
>>> BYE sip:997321079@...:5060 SIP/2.0.
>>> Via: SIP/2.0/UDP yyy.yyy.123.88:5060;branch=z9hG4bK4dd17330;rport.
>>> Route:
>>> <sip:0485336302@...:5060;nat=yes;ftag=5672;lr=on>,<sip:xxx.xxx.67.183;lr=on;ftag=5672;my_param=AAAAAAAAAAAAAAAACgBUWFxPXVpFWhhVSzE4Mw-->.
>>>
>>> From: <sip:0485336302@...>;tag=as3e2ef419.
>>> To: "997321079" <sip:997321073@...>;tag=5672.
>>> Contact: <sip:0485336302@...>.
>>> Call-ID: 1257324791-1991-MacBook%20de%20Olivier%20Taylor@....
>>> CSeq: 102 BYE.
>>> User-Agent: Phonext B2Bua.
>>> Max-Forwards: 70.
>>> Content-Length: 0.
>>>
>>>
>>> Daniel-Constantin Mierla a écrit :
>>>> Hello,
>>>>
>>>> On 04.11.2009 11:58 Uhr, olivier.taylor@... wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I use uac_replace_from to setup a call and everythings are ok.
>>>>> When the caller send a Bye, no problem.
>>>>> When the caller send a CANCEL, no problem.
>>>>>
>>>>> But when callee send a BYE to stop the call after the call has
>>>>> been setup, the bye is never sent back to caller...
>>>>> I also don't see any record-route header...
>>>>>
>>>>> Any idea?
>>>>> What did I forget?
>>>> if you do record routing and the bye from callee does not have it,
>>>> then seems to be a broken UA at the callee side.
>>>>
>>>> Have you tried with different UAs?
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>
>>>
>>
>
>
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users@...
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>

--
Daniel-Constantin Mierla
* http://www.asipto.com/


_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@...
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
< Prev | 1 - 2 | Next >