Hm, this should be possible to impliment tough..
and, you could even prototype it with the gflags module..
if you do something like:
route[2]{
if(uri=~"sip:somenumber@yourdomain.com"){
if(is_gflag(1){
sl_send_reply("486","Busy Here");
break;
}else{
set_gflag(1);
t_on_reply(1);
};
};
};
onreply_route[1]{
if(is_gflag(1) && status == "200"){
reset_gflag(1);
};
}
I haven't tested it so this is just a idea.. but you could proberbly
extend the gflags module to do somethin glike this only more flexible..
since this is only for one user..
-Atle
* Andreas M. <openser(a)breitenlee.net> [060201 18:38]:
Hi Klaus,
you?re right, maybe i described something wrong.
it is ok, when in the first transaction (INVITE-100-180-200) until
code 200, all other invites should be rejected, it is not necessary to hold the full
state of the call and i know, that ser
isn?t doing this.
but, is it possible, until code 200 is sent/received, that all invites to this uri are
rejected ?
how to identify that there is an transaction ongoing to the called uri ?
regards,
A.Matzel
Klaus Darilion schrieb:
Andreas M. wrote:
Hi,
i?m using openser 1.0.0 on Debian Sarge,
statefull is ok,openser is configured to be statefull,
openser is NOT dialog (call)
statefull. openser is only transaction statefull
dialog != transaction
e.g.:
INVITE-100-180-200 is a single transaction
ACK is a transaction
BYE-200 is a transaction
Those three transactions form a dialog. The INVITE transaction creates the dialog. The ACK
and BYE transaction are in-dialog
transactions. The BYE terminates the dialog.
(open)ser is only transaction statefull :-(
Thus for this feature you can not use (open)ser.
regards
klaus
>but how to put this into the config ?
>
>eg : if (transaction to called uri exists){
> then reject
> }
>
>regards,
>Andreas M.
>
>
>Klaus Darilion schrieb:
>
>>Andreas M. wrote:
>>
>>>Thanks for reply,
>>>but ist should be done independent, of the client software or phone,
>>>the "invite" message should not be sent to the client, the Server
should reply with "busy here" or simsilar.
>>
>>
>>And what about this?
>> CallerA calls CallerB -> accepted
>> CallerC calls CallerB -> ??
>>
>>should caller C also be rejected? If yes, you need a call staful SIP proxy or a
B2BUA like Asterisk.
>>
>>regards
>>klaus
>>
>>
>>>
>>>Any ideas ?
>>>
>>>regards,
>>>Andreas M
>>>
>>>
>>>Bogdan-Andrei Iancu schrieb:
>>>
>>>>Hi Andreas,
>>>>
>>>>this should work by default. Usually all phones with single line reject
with "busy here" all incoming calls if one is
>>>>already in progress (even during call setup -ringing).
>>>>
>>>>regards,
>>>>bogdan
>>>>
>>>>Andreas M. wrote:
>>>>
>>>>>Hi all,
>>>>>i want to introduce following in my configuration:
>>>>>
>>>>>CallerA calls CallerB -> ringing
>>>>>CallerC calls CallerB -> reject
>>>>>
>>>>>during this transaction, without that CallerB picks up the phone,
CallerC should not be able to call CallerB during
>>>>>this transaction,
>>>>>
>>>>>After this transactions, CallerC can call CallerB also.
>>>>>
>>>>>Any ideas how to check if there is an ongoing transaction ?
>>>>>
>>>>>regards,
>>>>>
>>>>>Andreas M.
>>>>>
>>>>>
>>>>>
>>>>>_______________________________________________
>>>>>Users mailing list
>>>>>Users(a)openser.org
>>>>>http://openser.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>>
>>>
>>>
>>>_______________________________________________
>>>Users mailing list
>>>Users(a)openser.org
>>>http://openser.org/cgi-bin/mailman/listinfo/users
>>
>>
>
>
>
>_______________________________________________
>Users mailing list
>Users(a)openser.org
>http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users