2010/7/22 Timo Reimann <timo.reimann(a)1und1.de>de>:
Hey,
Iñaki Baz Castillo wrote:
2010/7/21 Timo Reimann
<timo.reimann(a)1und1.de>de>:
In my
case when my kamailio handles a call it sets it a "client_name"
profile which is enough to list/terminate all the calls belonging to
such client.
But sometimes I need to terminate those calls with a specific CLI, and
the CLI is not the From username but a custon PAI inserted by
Kamailio. This info is not stored with the dialog.
A workaround could be settting the dialog in two profiles: client_name
and PAI, but I think it's not very elegant.
Also I think that storing custom variables within each dialog could be
very useful for other subjects.
Opinions? Thanks.
Have you considered using profiles that are associated to
specific
values? I haven't tried them myself but it looks pretty much like what
you seek. Consider exported functions *profile(profile, value), and the
MI function "profile_list_dlgs":
Ops, really sorry, in fact I *alreay* use it! and it's a good
solution. Sorry, not sure what I was thinking about when asked the
question XD
However I still think that having custom variables associated to
dialogs could be useful for some other cases.
Hmm, not sure if I get you. According to the docs, you can pass
pseudo-variables to profiles already now. How would the current dialog
interface need to differ in your opinion?
Could be elaborate a bit please?
Yes, sure:
Actually you can set a dialog into profiles and also set a value for
such profiles. Imagine I want to add a custom header "X-Client-Id:
NNNN" to the BYE depending on a profile value set in for the dialog in
the initial INVITE. Then I must do:
if is_in_profile("client_id", "1000")
hf_append("X-Client-Id: 1000\r\n");
else if is_in_profile("client_id", "1001")
hf_append("X-Client-Id: 1001\r\n");
else if is_in_profile("client_id", "1002")
hf_append("X-Client-Id: 1002\r\n");
[...]
end
Do you get the point? There is no way to get all the profiles/values a
dialog belongs to, so in my example (really a stupid example, I know)
I should create a very big "if" statement with all the possible values
in a fixed way (not feasible in most of the real cases).
What I would like is something like:
# In the initial INVITE after setting the dialog:
$dlg("client_id") = 1000;
# When processing the BYE:
hf_append("X-Client-Id: $dlg("client_id")\r\n");
Do you get the point? :)
Cheers.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>