summaryrefslogtreecommitdiff
path: root/res/res_pjsip_pubsub.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_pjsip_pubsub.c')
-rw-r--r--res/res_pjsip_pubsub.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index 99376b142..cdd1e8029 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -1234,6 +1234,7 @@ static void subscription_setup_dialog(struct sip_subscription_tree *sub_tree, pj
static struct sip_subscription_tree *allocate_subscription_tree(struct ast_sip_endpoint *endpoint)
{
struct sip_subscription_tree *sub_tree;
+ char tps_name[AST_TASKPROCESSOR_MAX_NAME + 1];
sub_tree = ao2_alloc(sizeof *sub_tree, subscription_tree_destructor);
if (!sub_tree) {
@@ -1242,7 +1243,11 @@ static struct sip_subscription_tree *allocate_subscription_tree(struct ast_sip_e
ast_module_ref(ast_module_info->self);
- sub_tree->serializer = ast_sip_create_serializer();
+ /* Create name with seq number appended. */
+ ast_taskprocessor_build_name(tps_name, sizeof(tps_name), "pjsip/pubsub/%s",
+ ast_sorcery_object_get_id(endpoint));
+
+ sub_tree->serializer = ast_sip_create_serializer_named(tps_name);
if (!sub_tree->serializer) {
ao2_ref(sub_tree, -1);
return NULL;