summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-07-20 18:18:11 +0200
committerHarald Welte <laforge@gnumonks.org>2010-07-20 18:18:11 +0200
commit19070cb10432e88890642115db5b221076f10591 (patch)
tree1310c50881c37e2a8ea738999d3a81634d09929a
parent8acf7175668ce2e55434e3a91912ced1c9724375 (diff)
include 'id-as-dialogue' OID in AARQ and AARE dialogue portions
-rw-r--r--src/csl_dha.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/csl_dha.c b/src/csl_dha.c
index 3d7234a..d9bc328 100644
--- a/src/csl_dha.c
+++ b/src/csl_dha.c
@@ -24,6 +24,7 @@
#include <osmocore/talloc.h>
#include <osmocore/msgb.h>
+#include <osmocore/utils.h>
#include <asn1c/OBJECT_IDENTIFIER.h>
@@ -43,6 +44,8 @@ static BIT_STRING_t dial_version1 = {
.bits_unused = 7,
};
+static const uint8_t tcap_id_as_dialogue[] = { 0, 4, 0, 0, 1, 0, 1, 3 };
+
/* Extract the Application Context Name and User Info from a DialoguePDU */
static int extract_appctx_uinfo(OBJECT_IDENTIFIER_t **app_ctx_name, struct user_information **user_info,
struct DialoguePDU *dial_pdu)
@@ -150,6 +153,11 @@ int tcap_csl_tc_begin_req(struct tcap_dialogue *td, OBJECT_IDENTIFIER_t *app_ctx
dial = talloc_zero(ext, DialoguePDU_t);
dial->present = DialoguePDU_PR_dialogueRequest;
+ OBJECT_IDENTIFIER_set_arcs(&ext->oid,
+ &tcap_id_as_dialogue,
+ sizeof(tcap_id_as_dialogue[0]),
+ ARRAY_SIZE(tcap_id_as_dialogue));
+
aarq = &dial->choice.dialogueRequest;
if (user_info)
aarq->user_information = user_info;
@@ -329,6 +337,12 @@ static ANY_t *gen_ext_AARE(struct tcap_dialogue *td, OBJECT_IDENTIFIER_t *app_ct
dial = talloc_zero(ext, DialoguePDU_t);
dial->present = DialoguePDU_PR_dialogueResponse;
+
+ OBJECT_IDENTIFIER_set_arcs(&ext->oid,
+ &tcap_id_as_dialogue,
+ sizeof(tcap_id_as_dialogue[0]),
+ ARRAY_SIZE(tcap_id_as_dialogue));
+
aare = &dial->choice.dialogueResponse;
/* Set protocol version 1 */
aare->protocol_version = &dial_version1;