2010/7/22 Timo Reimann timo.reimann@1und1.de:
Hey,
Iñaki Baz Castillo wrote:
2010/7/21 Timo Reimann timo.reimann@1und1.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.