diff options
Diffstat (limited to 'res/res_pjsip_pubsub.c')
-rw-r--r-- | res/res_pjsip_pubsub.c | 7 |
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; |