summaryrefslogtreecommitdiffstats
path: root/tinySIP/test/test_imsaka.h
diff options
context:
space:
mode:
Diffstat (limited to 'tinySIP/test/test_imsaka.h')
-rw-r--r--tinySIP/test/test_imsaka.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/tinySIP/test/test_imsaka.h b/tinySIP/test/test_imsaka.h
new file mode 100644
index 0000000..868fd2c
--- /dev/null
+++ b/tinySIP/test/test_imsaka.h
@@ -0,0 +1,93 @@
+/*
+* Copyright (C) 2009 Mamadou Diop.
+*
+* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
+*
+* This file is part of Open Source Doubango Framework.
+*
+* DOUBANGO is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* DOUBANGO is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with DOUBANGO.
+*
+*/
+#ifndef _TEST_IMS_AKA_H
+#define _TEST_IMS_AKA_H
+
+#include "tinysip/authentication/tsip_challenge.h" /* Not part of the API */
+
+#define TEST_IMS_AKA_REQUEST "REGISTER sip:ims.inexbee.com SIP/2.0\r\n" \
+"v: SIP/2.0/TCP 192.168.16.82:2851;branch=z9hG4bK1272986926192;rport\r\n" \
+"f: <sip:bob@ims.inexbee.com>;tag=1272986909384\r\n" \
+"t: <sip:bob@ims.inexbee.com>\r\n" \
+"m: <sip:bob@192.168.16.82:2851;transport=tcp>;expires=30;+g.oma.sip-im;+g.3gpp.smsip;language=\"en,fr\"\r\n" \
+"i: ef566354-2051-df74-b888-1d30e1753213\r\n" \
+"CSeq: 30149 REGISTER\r\n" \
+"l: 0\r\n" \
+"Max-Forwards: 70\r\n" \
+"Authorization: Digest username=\"bob@ims.inexbee.com\",realm=\"ims.inexbee.com\",nonce=\"\",uri=\"sip:ims.inexbee.com\",response=\"\"\r\n" \
+"Privacy: header;id\r\n" \
+"Allow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER\r\n" \
+"P-Access-Network-Info: ADSL;utran-cell-id-3gpp=00000000\r\n" \
+"User-Agent: IM-client/OMA1.0 doubango/v1.0.0\r\n" \
+"P-Preferred-Identity: <sip:bob@ims.inexbee.com>\r\n" \
+"k: path\r\n" \
+"Action-Header: Myheader-value\r\n" \
+"\r\n"
+
+
+
+void test_imsaka()
+{
+ tsip_challenge_t* challenge;
+ tsip_stack_handle_t *stack;
+ tsip_request_t *request = tsk_null;
+ tsk_ragel_state_t state;
+ tsip_header_Authorization_t* hdr_Auth;
+
+ /* create the SIP stack */
+ stack = tsip_stack_create(tsk_null, "sip:ims.inexbee.com", "bob@ims.inexbee.com", "sip:bob@ims.inexbee.com",
+ TSIP_STACK_SET_PASSWORD("bob"),
+ TSIP_STACK_SET_NULL());
+
+ /* create the chalenge */
+ challenge = tsip_challenge_create(stack,
+ tsk_false,
+ "Digest", /* scheme */
+ "ims.inexbee.com", /* realm */
+ "RqhHfrN+ciXaM4mt8k/0Lyx7bgshVgAA5TcTpiTtqsY=", /* nonce */
+ tsk_null, /* opaque */
+ "AKAv1-MD5", /* algorithm */
+ "auth" /* qop */
+ );
+
+ /* Parse SIP request */
+ tsk_ragel_state_init(&state, TEST_IMS_AKA_REQUEST, tsk_strlen(TEST_IMS_AKA_REQUEST));
+ if(!tsip_message_parse(&state, &request, tsk_true)){
+ goto bail;
+ }
+
+ /* Gets auth header */
+ if((hdr_Auth = (tsip_header_Authorization_t*)tsip_challenge_create_header_authorization(challenge, request))){
+ TSK_DEBUG_INFO("Response=[%s]", hdr_Auth->response);
+ }
+
+
+bail:
+ TSK_OBJECT_SAFE_FREE(request);
+ TSK_OBJECT_SAFE_FREE(challenge);
+ TSK_OBJECT_SAFE_FREE(stack);
+
+ getchar();
+}
+
+#endif /* _TEST_IMS_AKA_H */
+
OpenPOWER on IntegriCloud