Module: kamailio Branch: master Commit: 0ee31b2d29c4822ef6302411fcbe89aaee619e3a URL: https://github.com/kamailio/kamailio/commit/0ee31b2d29c4822ef6302411fcbe89aa...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2016-02-01T18:48:55+01:00
core: sip routing api - custom callid generator callback
- allow registration of callback functions for different callid generators
---
Added: srapi.c Added: srapi.h
---
Diff: https://github.com/kamailio/kamailio/commit/0ee31b2d29c4822ef6302411fcbe89aa... Patch: https://github.com/kamailio/kamailio/commit/0ee31b2d29c4822ef6302411fcbe89aa...
---
diff --git a/srapi.c b/srapi.c new file mode 100644 index 0000000..a84762e --- /dev/null +++ b/srapi.c @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2016 Daniel-Constantin Mierla (asipto.com) + * + * This file is part of Kamailio, a free SIP server. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + +#include <stdio.h> +#include <stdlib.h> +#include "dprint.h" + +#include "srapi.h" + +static sr_generate_callid_f _sr_generate_callid_func = NULL; + +/** + * + */ +int sr_register_callid_func(sr_generate_callid_f f) +{ + if(_sr_generate_callid_func!=NULL) { + LM_INFO("overwriting generate callid function\n"); + } + _sr_generate_callid_func = f; + return 0; +} + +/** + * + */ +sr_generate_callid_f sr_get_callid_func(void) +{ + return _sr_generate_callid_func; +} diff --git a/srapi.h b/srapi.h new file mode 100644 index 0000000..e0f7867 --- /dev/null +++ b/srapi.h @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2016 Daniel-Constantin Mierla (asipto.com) + * + * This file is part of Kamailio, a free SIP server. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef __SRAPI_H__ +#define __SRAPI_H__ + +#include "str.h" + +typedef void (*sr_generate_callid_f)(str*); + +int sr_register_callid_func(sr_generate_callid_f f); + +sr_generate_callid_f sr_get_callid_func(void); + +#endif