summaryrefslogtreecommitdiffstats
path: root/tinySIP/test/test_stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'tinySIP/test/test_stack.h')
-rwxr-xr-xtinySIP/test/test_stack.h832
1 files changed, 408 insertions, 424 deletions
diff --git a/tinySIP/test/test_stack.h b/tinySIP/test/test_stack.h
index 7cfc04c..0bde757 100755
--- a/tinySIP/test/test_stack.h
+++ b/tinySIP/test/test_stack.h
@@ -2,19 +2,19 @@
* Copyright (C) 2009 Mamadou Diop.
*
* Contact: Mamadou Diop <diopmamadou(at)doubango[dot]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.
*
@@ -76,158 +76,142 @@
int test_stack_callback(const tsip_event_t *sipevent)
{
- TSK_DEBUG_INFO("\n====\nSTACK event: %d [%s] with opid=%lld\n=====",
- sipevent->code, sipevent->phrase, tsip_ssession_get_id(sipevent->ss));
-
- // For ssessions created by the stack ==> call tsk_object_ref(sipevent->ssession);
- // to take ownership.
-
- switch(sipevent->type)
- {
- //
- // REGISTER
- //
- case tsip_event_register:
- {
- const tsip_register_event_t* _event;
- TSK_DEBUG_INFO("SIP event(REGISTER)");
-
- _event = TSIP_REGISTER_EVENT(sipevent);
- switch(_event->type){
- case tsip_ao_register: /* Answer to Outgoing REGISTER */
- {
- if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)){
- TSK_DEBUG_INFO("Registration succeed.");
- }
- else{
- TSK_DEBUG_INFO("Registration failed.");
- }
- break;
- }
- case tsip_ao_unregister: /* Answer to Outgoing UNREGISTER */
- {
- if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)){
- TSK_DEBUG_INFO("UnRegistration succeed.");
- }
- else{
- TSK_DEBUG_INFO("UnRegistration failed.");
- }
- break;
- }
- default:
- break;
- }
-
- break;
- }
-
- //
- // INVITE
- //
- case tsip_event_invite:
- {
- TSK_DEBUG_INFO("SIP event(INVITE)");
- break;
- }
-
- //
- // MESSAGE
- //
- case tsip_event_message:
- {
- const tsip_message_event_t* _event;
- TSK_DEBUG_INFO("SIP event(MESSAGE)");
-
- _event = TSIP_MESSAGE_EVENT(sipevent);
- switch(_event->type)
- {
- case tsip_i_message: /* Incoming MESSAGE */
- {
- if(TSIP_MESSAGE_HAS_CONTENT(sipevent->sipmessage)){
- TSK_DEBUG_INFO("MESSAGE Content: %s", TSIP_MESSAGE_CONTENT(sipevent->sipmessage));
- }
- break;
- }
- case tsip_ao_message: /* Answer to Outgoing MESSAGE */
- {
- if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)){
- TSK_DEBUG_INFO("MESSAGE successfully sent.");
- }
- else{
- TSK_DEBUG_INFO("Failed to send MESSAGE (sip code:%d).", TSIP_RESPONSE_CODE(sipevent->sipmessage));
- }
- }
- default:
- break;
- }
-
- break;
- }
-
- //
- // PUBLISH
- //
- case tsip_event_publish:
- {
- TSK_DEBUG_INFO("SIP event(PUBLISH)");
- break;
- }
-
- //
- // SUBSCRIBE
- //
- case tsip_event_subscribe:
- {
- const tsip_subscribe_event_t* _event;
- TSK_DEBUG_INFO("SIP event(SUBSCRIBE)");
-
- _event = TSIP_SUBSCRIBE_EVENT(sipevent);
- switch(_event->type)
- {
- case tsip_i_notify: /* Incoming NOTIFY */
- {
- if(TSIP_MESSAGE_CONTENT_DATA(sipevent->sipmessage)){
- TSK_DEBUG_INFO("NOTIFY Content: %s", TSIP_MESSAGE_CONTENT(sipevent->sipmessage));
- }
- break;
- }
- case tsip_ao_subscribe: /* Answer to Outgoing SUBSCRIBE */
- {
- if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)){
- TSK_DEBUG_INFO("Subscription succeed.");
- }
- else{
- TSK_DEBUG_INFO("Subscription failed.");
- }
- break;
- }
- case tsip_ao_unsubscribe: /* Answer to Outgoing UNSUBSCRIBE */
- {
- if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)){
- TSK_DEBUG_INFO("UnSubscription succeed.");
- }
- else{
- TSK_DEBUG_INFO("UnSubscription failed.");
- }
- break;
- }
- default:
- break;
- }
-
- break;
- }
-
- default:
- {
- TSK_DEBUG_INFO("SIP event(UNKNOWN)");
- break;
- }
- }
-
- //tsk_thread_sleep(1000000);
-
- return 0;
+ TSK_DEBUG_INFO("\n====\nSTACK event: %d [%s] with opid=%lld\n=====",
+ sipevent->code, sipevent->phrase, tsip_ssession_get_id(sipevent->ss));
+
+ // For ssessions created by the stack ==> call tsk_object_ref(sipevent->ssession);
+ // to take ownership.
+
+ switch(sipevent->type) {
+ //
+ // REGISTER
+ //
+ case tsip_event_register: {
+ const tsip_register_event_t* _event;
+ TSK_DEBUG_INFO("SIP event(REGISTER)");
+
+ _event = TSIP_REGISTER_EVENT(sipevent);
+ switch(_event->type) {
+ case tsip_ao_register: { /* Answer to Outgoing REGISTER */
+ if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("Registration succeed.");
+ }
+ else {
+ TSK_DEBUG_INFO("Registration failed.");
+ }
+ break;
+ }
+ case tsip_ao_unregister: { /* Answer to Outgoing UNREGISTER */
+ if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("UnRegistration succeed.");
+ }
+ else {
+ TSK_DEBUG_INFO("UnRegistration failed.");
+ }
+ break;
+ }
+ default:
+ break;
+ }
+
+ break;
+ }
+
+ //
+ // INVITE
+ //
+ case tsip_event_invite: {
+ TSK_DEBUG_INFO("SIP event(INVITE)");
+ break;
+ }
+
+ //
+ // MESSAGE
+ //
+ case tsip_event_message: {
+ const tsip_message_event_t* _event;
+ TSK_DEBUG_INFO("SIP event(MESSAGE)");
+
+ _event = TSIP_MESSAGE_EVENT(sipevent);
+ switch(_event->type) {
+ case tsip_i_message: { /* Incoming MESSAGE */
+ if(TSIP_MESSAGE_HAS_CONTENT(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("MESSAGE Content: %s", TSIP_MESSAGE_CONTENT(sipevent->sipmessage));
+ }
+ break;
+ }
+ case tsip_ao_message: { /* Answer to Outgoing MESSAGE */
+ if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("MESSAGE successfully sent.");
+ }
+ else {
+ TSK_DEBUG_INFO("Failed to send MESSAGE (sip code:%d).", TSIP_RESPONSE_CODE(sipevent->sipmessage));
+ }
+ }
+ default:
+ break;
+ }
+
+ break;
+ }
+
+ //
+ // PUBLISH
+ //
+ case tsip_event_publish: {
+ TSK_DEBUG_INFO("SIP event(PUBLISH)");
+ break;
+ }
+
+ //
+ // SUBSCRIBE
+ //
+ case tsip_event_subscribe: {
+ const tsip_subscribe_event_t* _event;
+ TSK_DEBUG_INFO("SIP event(SUBSCRIBE)");
+
+ _event = TSIP_SUBSCRIBE_EVENT(sipevent);
+ switch(_event->type) {
+ case tsip_i_notify: { /* Incoming NOTIFY */
+ if(TSIP_MESSAGE_CONTENT_DATA(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("NOTIFY Content: %s", TSIP_MESSAGE_CONTENT(sipevent->sipmessage));
+ }
+ break;
+ }
+ case tsip_ao_subscribe: { /* Answer to Outgoing SUBSCRIBE */
+ if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("Subscription succeed.");
+ }
+ else {
+ TSK_DEBUG_INFO("Subscription failed.");
+ }
+ break;
+ }
+ case tsip_ao_unsubscribe: { /* Answer to Outgoing UNSUBSCRIBE */
+ if(TSIP_RESPONSE_IS_2XX(sipevent->sipmessage)) {
+ TSK_DEBUG_INFO("UnSubscription succeed.");
+ }
+ else {
+ TSK_DEBUG_INFO("UnSubscription failed.");
+ }
+ break;
+ }
+ default:
+ break;
+ }
+
+ break;
+ }
+
+ default: {
+ TSK_DEBUG_INFO("SIP event(UNKNOWN)");
+ break;
+ }
+ }
+
+ //tsk_thread_sleep(1000000);
+
+ return 0;
}
@@ -238,283 +222,283 @@ void test_stack()
//#define DOMAIN "ims.inexbee.com"
//#define DOMAIN "sip2sip.info"
- const void* usr_context = tsk_null;
- int ret;
- uint16_t AMF = 0x0001;
-/*
- tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
- TSIP_STACK_SET_DISPLAY_NAME("2233392625"),
- TSIP_STACK_SET_PUBLIC_IDENTITY("sip:2233392625@"DOMAIN),
- TSIP_STACK_SET_PRIVATE_IDENTITY("2233392625"),
- TSIP_STACK_SET_PASSWORD("d3sb7j4fb8"),
- TSIP_STACK_SET_REALM("sip:"DOMAIN), // FIXME: without sip:
- TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
- //TSIP_STACK_SET_DISCOVERY_NAPTR(1),
- //TSIP_STACK_SET_PROXY_CSCF("proxy.sipthor.net", "udp", 0),
- //TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
- TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
- TSIP_STACK_SET_MOBILITY("fixed"),
- TSIP_STACK_SET_DEVICE_ID("dd1289fa-c3d7-47bd-a40d-f1f1b2cc5ffc"),
- TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
- TSIP_STACK_SET_PRIVACY("header;id"),
-*/
+ const void* usr_context = tsk_null;
+ int ret;
+ uint16_t AMF = 0x0001;
+ /*
+ tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
+ TSIP_STACK_SET_DISPLAY_NAME("2233392625"),
+ TSIP_STACK_SET_PUBLIC_IDENTITY("sip:2233392625@"DOMAIN),
+ TSIP_STACK_SET_PRIVATE_IDENTITY("2233392625"),
+ TSIP_STACK_SET_PASSWORD("d3sb7j4fb8"),
+ TSIP_STACK_SET_REALM("sip:"DOMAIN), // FIXME: without sip:
+ TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
+ //TSIP_STACK_SET_DISCOVERY_NAPTR(1),
+ //TSIP_STACK_SET_PROXY_CSCF("proxy.sipthor.net", "udp", 0),
+ //TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
+ TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
+ TSIP_STACK_SET_MOBILITY("fixed"),
+ TSIP_STACK_SET_DEVICE_ID("dd1289fa-c3d7-47bd-a40d-f1f1b2cc5ffc"),
+ TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
+ TSIP_STACK_SET_PRIVACY("header;id"),
+ */
+
+ /*
+ tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
+ TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
+ TSIP_STACK_SET_PUBLIC_IDENTITY("sip:mamadou@"DOMAIN),
+ TSIP_STACK_SET_PRIVATE_IDENTITY("mamadou@"DOMAIN),
+ TSIP_STACK_SET_PASSWORD("mamadou"),
+ TSIP_STACK_SET_REALM("sip:"DOMAIN), // FIXME: without sip:
+ TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
+ //TSIP_STACK_SET_DISCOVERY_NAPTR(1),
+ TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
+ //TSIP_STACK_SET_PROXY_CSCF_PORT(5081),
+ TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
+ //TSIP_STACK_SET_SECAGREE_IPSEC("hmac-md5-96", "null", "trans", "esp"),
+ TSIP_STACK_SET_MOBILITY("fixed"),
+ TSIP_STACK_SET_DEVICE_ID("dd1289fa-c3d7-47bd-a40d-f1f1b2cc5ffc"),
+ TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
+ TSIP_STACK_SET_PRIVACY("header;id"),
+ */
+
+
+
+ int32_t port = 4060;
+ /*
+ tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback, "sip:"DOMAIN, "mamadou@"DOMAIN, "sip:mamadou@"DOMAIN,
+ TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
+ TSIP_STACK_SET_PASSWORD("mamadou"),
+ TSIP_STACK_SET_IMS_AKA_AMF(AMF),
+ TSIP_STACK_SET_IMS_AKA_OPERATOR_ID("0xff08"),
+ TSIP_STACK_SET_HEADER("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"),
+
+ TSIP_STACK_SET_PROXY_CSCF("192.168.16.225", port, "udp", "ipv4"),
+
+ TSIP_STACK_SET_EARLY_IMS(tsk_true),
+ */
+
+ tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback, "sip:"DOMAIN, "mamadou@"DOMAIN, "sip:mamadou@"DOMAIN,
+ TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
+ TSIP_STACK_SET_PASSWORD("mamadou"),
+ TSIP_STACK_SET_IMS_AKA_AMF(AMF),
+ TSIP_STACK_SET_IMS_AKA_OPERATOR_ID("0xff08"),
+ TSIP_STACK_SET_HEADER("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"),
+
+ TSIP_STACK_SET_PROXY_CSCF("192.168.0.13", 5081, "tcp", "ipv4"),
+ TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
+
+ TSIP_STACK_SET_EARLY_IMS(tsk_true),
+
+
+ /*
+ tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback, "sip:"DOMAIN, "2233392625", "sip:2233392625@"DOMAIN,
+ TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
+ TSIP_STACK_SET_PASSWORD("d3sb7j4fb8"),
+
+ TSIP_STACK_SET_EARLY_IMS(tsk_true),
+
+ TSIP_STACK_SET_HEADER("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"),
+ */
+ /*
+ tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
+ TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
+ TSIP_STACK_SET_PUBLIC_IDENTITY("sip:mamadou@"DOMAIN),
+ TSIP_STACK_SET_PRIVATE_IDENTITY("mamadou@"DOMAIN),
+ TSIP_STACK_SET_PASSWORD("mamadou"),
+ TSIP_STACK_SET_REALM("sip:"DOMAIN), // FIXME: without sip:
+ TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
+ //TSIP_STACK_SET_DISCOVERY_NAPTR(1),
+ TSIP_STACK_SET_PROXY_CSCF("192.168.16.104", "udp", 0),
+ //TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
+ TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
+ //TSIP_STACK_SET_SECAGREE_IPSEC("hmac-md5-96", "null", "trans", "esp"),
+ TSIP_STACK_SET_MOBILITY("fixed"),
+ TSIP_STACK_SET_DEVICE_ID("dd1289fa-c3d7-47bd-a40d-f1f1b2cc5ffc"),
+ TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
+ TSIP_STACK_SET_PRIVACY("header;id"),
+ */
+
+ TSIP_STACK_SET_NULL());
+
+
+
+
+ //tsip_ssession_handle_t *op = tsip_ssession_create(stack,
+ // TSIP_SSESSION_SET_CONTEXT(usr_context),
+ // TSIP_SSESSION_SET_HEADER("expires", "30"),
+ // TSIP_SSESSION_SET_HEADER("Persistence", "session"),
+ //
+ // TSIP_SSESSION_SET_CAPS("language", "\"en,fr\""),
+ // TSIP_SSESSION_SET_CAPS("+audio", ""),
+ // TSIP_SSESSION_SET_CAPS("+g.oma.sip-im", ""),
+ //
+ // tsk_null);
+
+
+ tsip_ssession_handle_t *op = tsip_ssession_create(stack,
+ TSIP_SSESSION_SET_EXPIRES(30),
+
+ TSIP_SSESSION_SET_CAPS("+g.oma.sip-im", ""),
+ TSIP_SSESSION_SET_CAPS("+audio", ""),
+ TSIP_SSESSION_SET_CAPS("automata", ""),
+ TSIP_SSESSION_SET_CAPS("language", "\"en,fr\""),
+
+ TSIP_SSESSION_SET_HEADER("Supported", "ssl"),
+ TSIP_SSESSION_SET_HEADER("P-Access-Network-Info", "3GPP-UTRAN-TDD;utran-cell-id-3gpp=AAAAA0000BBBB"),
+
+ TSIP_SSESSION_UNSET_HEADER("P-Access-Network-Info"),
+
+ TSIP_SSESSION_SET_NULL());
+
+ //tsip_ssession_id_t opid = tsip_ssession_get_id(op);
+
+ if((ret = tsip_stack_start(stack))) {
+ goto bail;
+ }
+
+ tsip_action_REGISTER(op,
+ TSIP_ACTION_SET_HEADER("My-Header-1", "My-Value-1"),
+ TSIP_ACTION_SET_HEADER("My-Header-2", "My-Value-1"),
+
+ TSIP_ACTION_SET_NULL());
+
+ getchar();
+ //tsk_thread_sleep(2000);
+
+ tsip_action_UNREGISTER(op,
+ TSIP_ACTION_SET_NULL()
+ );
- /*
- tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
- TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
- TSIP_STACK_SET_PUBLIC_IDENTITY("sip:mamadou@"DOMAIN),
- TSIP_STACK_SET_PRIVATE_IDENTITY("mamadou@"DOMAIN),
- TSIP_STACK_SET_PASSWORD("mamadou"),
- TSIP_STACK_SET_REALM("sip:"DOMAIN), // FIXME: without sip:
- TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
- //TSIP_STACK_SET_DISCOVERY_NAPTR(1),
- TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
- //TSIP_STACK_SET_PROXY_CSCF_PORT(5081),
- TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
- //TSIP_STACK_SET_SECAGREE_IPSEC("hmac-md5-96", "null", "trans", "esp"),
- TSIP_STACK_SET_MOBILITY("fixed"),
- TSIP_STACK_SET_DEVICE_ID("dd1289fa-c3d7-47bd-a40d-f1f1b2cc5ffc"),
- TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
- TSIP_STACK_SET_PRIVACY("header;id"),
-*/
+ getchar();
+ tsk_thread_sleep(2000);
-
-
- int32_t port = 4060;
-/*
- tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback, "sip:"DOMAIN, "mamadou@"DOMAIN, "sip:mamadou@"DOMAIN,
- TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
- TSIP_STACK_SET_PASSWORD("mamadou"),
- TSIP_STACK_SET_IMS_AKA_AMF(AMF),
- TSIP_STACK_SET_IMS_AKA_OPERATOR_ID("0xff08"),
- TSIP_STACK_SET_HEADER("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"),
-
- TSIP_STACK_SET_PROXY_CSCF("192.168.16.225", port, "udp", "ipv4"),
-
- TSIP_STACK_SET_EARLY_IMS(tsk_true),
-*/
+ //tsip_unregister(op,
+ // TSIP_ACTION_SET_HEADER("Persistence2", "action"),
+ //
+ // tsk_null);
+ /*
+ tsip_subscribe(op,
+ TSIP_ACTION_SET_HEADER("Persistence", "action"),
+
+ tsk_null);
+
+ tsk_thread_sleep(5000);
+
+ tsip_unsubscribe(op,
+ TSIP_ACTION_SET_HEADER("Persistence2", "action"),
+
+ tsk_null);
+ */
+
+ /* INVITE */
+ /*
+ {
+ tsip_ssession_handle_t *call = TSIP_SSESSION_CREATE(stack,
+ TSIP_SSESSION_SET_HEADER("to", "sip:samba@"DOMAIN),
+ TSIP_SSESSION_SET_CAPS("+g.3gpp.icsi-ref", "\"urn%3Aurn-7%3gpp-service.ims.icsi.mmtel\""),
+ TSIP_SSESSION_SET_HEADER("Supported", "timer, norefersub, precondition"),
+ TSIP_SSESSION_SET_HEADER("Require", "100rel"),
+
+ TSIP_SSESSION_SET_PARAM("content", TEST_STACK_SDP),
+
+ TSIP_SSESSION_SET_NULL());
+ tsip_invite(stack, call);
+ }
+ */
+
+ /* SUBSCRIBE */
+ //{
+ // tsip_ssession_handle_t *ss2 = tsip_ssession_create(stack,
+ // TSIP_SSESSION_SET_CONTEXT(usr_context),
+ // TSIP_SSESSION_SET_HEADER("expires", "35"),
+ // TSIP_SSESSION_SET_HEADER("Event", "reg"),
+ // TSIP_SSESSION_SET_HEADER("Accept", "application/reginfo+xml"),
+ // TSIP_SSESSION_SET_HEADER("Allow-Events", "refer, presence, presence.winfo, xcap-diff"),
+ // TSIP_SSESSION_SET_HEADER("Allow", "INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER"),
+ //
+ // tsk_null);
- tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback, "sip:"DOMAIN, "mamadou@"DOMAIN, "sip:mamadou@"DOMAIN,
- TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
- TSIP_STACK_SET_PASSWORD("mamadou"),
- TSIP_STACK_SET_IMS_AKA_AMF(AMF),
- TSIP_STACK_SET_IMS_AKA_OPERATOR_ID("0xff08"),
- TSIP_STACK_SET_HEADER("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"),
-
- TSIP_STACK_SET_PROXY_CSCF("192.168.0.13", 5081, "tcp", "ipv4"),
- TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
-
- TSIP_STACK_SET_EARLY_IMS(tsk_true),
-
-
-/*
- tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback, "sip:"DOMAIN, "2233392625", "sip:2233392625@"DOMAIN,
- TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
- TSIP_STACK_SET_PASSWORD("d3sb7j4fb8"),
-
- TSIP_STACK_SET_EARLY_IMS(tsk_true),
-
- TSIP_STACK_SET_HEADER("User-Agent", "IM-client/OMA1.0 doubango/v1.0.0"),
-*/
-/*
- tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
- TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
- TSIP_STACK_SET_PUBLIC_IDENTITY("sip:mamadou@"DOMAIN),
- TSIP_STACK_SET_PRIVATE_IDENTITY("mamadou@"DOMAIN),
- TSIP_STACK_SET_PASSWORD("mamadou"),
- TSIP_STACK_SET_REALM("sip:"DOMAIN), // FIXME: without sip:
- TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
- //TSIP_STACK_SET_DISCOVERY_NAPTR(1),
- TSIP_STACK_SET_PROXY_CSCF("192.168.16.104", "udp", 0),
- //TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
- TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
- //TSIP_STACK_SET_SECAGREE_IPSEC("hmac-md5-96", "null", "trans", "esp"),
- TSIP_STACK_SET_MOBILITY("fixed"),
- TSIP_STACK_SET_DEVICE_ID("dd1289fa-c3d7-47bd-a40d-f1f1b2cc5ffc"),
- TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
- TSIP_STACK_SET_PRIVACY("header;id"),
-*/
+ // tsip_subscribe(ss2,
+ // TSIP_ACTION_SET_HEADER("Description", "subscribing"),
- TSIP_STACK_SET_NULL());
-
-
-
-
- //tsip_ssession_handle_t *op = tsip_ssession_create(stack,
- // TSIP_SSESSION_SET_CONTEXT(usr_context),
- // TSIP_SSESSION_SET_HEADER("expires", "30"),
- // TSIP_SSESSION_SET_HEADER("Persistence", "session"),
- //
- // TSIP_SSESSION_SET_CAPS("language", "\"en,fr\""),
- // TSIP_SSESSION_SET_CAPS("+audio", ""),
- // TSIP_SSESSION_SET_CAPS("+g.oma.sip-im", ""),
- //
- // tsk_null);
-
-
-tsip_ssession_handle_t *op = tsip_ssession_create(stack,
- TSIP_SSESSION_SET_EXPIRES(30),
-
- TSIP_SSESSION_SET_CAPS("+g.oma.sip-im", ""),
- TSIP_SSESSION_SET_CAPS("+audio", ""),
- TSIP_SSESSION_SET_CAPS("automata", ""),
- TSIP_SSESSION_SET_CAPS("language", "\"en,fr\""),
-
- TSIP_SSESSION_SET_HEADER("Supported", "ssl"),
- TSIP_SSESSION_SET_HEADER("P-Access-Network-Info", "3GPP-UTRAN-TDD;utran-cell-id-3gpp=AAAAA0000BBBB"),
-
- TSIP_SSESSION_UNSET_HEADER("P-Access-Network-Info"),
-
- TSIP_SSESSION_SET_NULL());
-
- //tsip_ssession_id_t opid = tsip_ssession_get_id(op);
-
- if((ret = tsip_stack_start(stack))){
- goto bail;
- }
-
- tsip_action_REGISTER(op,
- TSIP_ACTION_SET_HEADER("My-Header-1", "My-Value-1"),
- TSIP_ACTION_SET_HEADER("My-Header-2", "My-Value-1"),
-
- TSIP_ACTION_SET_NULL());
-
- getchar();
- //tsk_thread_sleep(2000);
-
- tsip_action_UNREGISTER(op,
- TSIP_ACTION_SET_NULL()
- );
-
- getchar();
- tsk_thread_sleep(2000);
-
- //tsip_unregister(op,
- // TSIP_ACTION_SET_HEADER("Persistence2", "action"),
- //
- // tsk_null);
-/*
- tsip_subscribe(op,
- TSIP_ACTION_SET_HEADER("Persistence", "action"),
-
- tsk_null);
-
- tsk_thread_sleep(5000);
-
- tsip_unsubscribe(op,
- TSIP_ACTION_SET_HEADER("Persistence2", "action"),
-
- tsk_null);
- */
-
- /* INVITE */
- /*
- {
- tsip_ssession_handle_t *call = TSIP_SSESSION_CREATE(stack,
- TSIP_SSESSION_SET_HEADER("to", "sip:samba@"DOMAIN),
- TSIP_SSESSION_SET_CAPS("+g.3gpp.icsi-ref", "\"urn%3Aurn-7%3gpp-service.ims.icsi.mmtel\""),
- TSIP_SSESSION_SET_HEADER("Supported", "timer, norefersub, precondition"),
- TSIP_SSESSION_SET_HEADER("Require", "100rel"),
-
- TSIP_SSESSION_SET_PARAM("content", TEST_STACK_SDP),
-
- TSIP_SSESSION_SET_NULL());
- tsip_invite(stack, call);
- }
- */
-
- /* SUBSCRIBE */
- //{
- // tsip_ssession_handle_t *ss2 = tsip_ssession_create(stack,
- // TSIP_SSESSION_SET_CONTEXT(usr_context),
- // TSIP_SSESSION_SET_HEADER("expires", "35"),
- // TSIP_SSESSION_SET_HEADER("Event", "reg"),
- // TSIP_SSESSION_SET_HEADER("Accept", "application/reginfo+xml"),
- // TSIP_SSESSION_SET_HEADER("Allow-Events", "refer, presence, presence.winfo, xcap-diff"),
- // TSIP_SSESSION_SET_HEADER("Allow", "INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER"),
- //
- // tsk_null);
-
- // tsip_subscribe(ss2,
- // TSIP_ACTION_SET_HEADER("Description", "subscribing"),
-
- // tsk_null);
-
- // getchar();
-
- // tsip_unsubscribe(ss2,
- // TSIP_ACTION_SET_HEADER("Test", "unsubscribing"),
- //
- // tsk_null);
- //}
-
- /* MESSAGE */
- //{
- // tsip_ssession_handle_t *ss3 = TSIP_SSESSION_CREATE(stack,
- // TSIP_SSESSION_SET_HEADER("to", "sip:alice@"DOMAIN),
- // TSIP_SSESSION_SET_HEADER("Accept-Contact", "*;+g.oma.sip-im"),
- //
- // tsk_null);
- // tsip_message(ss3,
- // TSIP_ACTION_SET_HEADER("Content-Type", "text/plain"),
- // TSIP_ACTION_SET_PAYLOAD("Hello world!", tsk_strlen("Hello world!")),
-
- // tsk_null
- // );
- //}
-
- /* PUBLISH */
- /*{
- tsip_ssession_handle_t *ss4 = TSIP_SSESSION_CREATE(stack,
- TSIP_SSESSION_SET_HEADER("expires", "30"),
- TSIP_SSESSION_SET_HEADER("to", "sip:mamadou@"DOMAIN),
-
- TSIP_SSESSION_SET_HEADER("Accept-Contact", "*;+g.oma.sip-im"),
- TSIP_SSESSION_SET_HEADER("Event", "presence"),
-
- tsk_null);
-
- tsip_publish(ss4,
- TSIP_ACTION_SET_HEADER("Description", "publish"),
- TSIP_ACTION_SET_HEADER("Content-Type", "application/pidf+xml"),
- TSIP_ACTION_SET_PAYLOAD(TEST_STACK_PIDF, tsk_strlen(TEST_STACK_PIDF)),
-
- tsk_null);
-
- getchar();
-
- tsip_unpublish(ss4,
- TSIP_ACTION_SET_HEADER("Description", "unpublish"),
-
- tsk_null);
- }
- */
- // /*getchar();
- // tsip_ssession_set(op4,
- // TSIP_SSESSION_SET_PARAM("content", TEST_STACK_PIDF),
-
- // TSIP_SSESSION_SET_NULL());
- // tsip_publish(stack, op4);*/
- //
- // getchar();
- // tsip_ssession_hangup(op4);
- //
- //}
+ // tsk_null);
+
+ // getchar();
+
+ // tsip_unsubscribe(ss2,
+ // TSIP_ACTION_SET_HEADER("Test", "unsubscribing"),
+ //
+ // tsk_null);
+ //}
+
+ /* MESSAGE */
+ //{
+ // tsip_ssession_handle_t *ss3 = TSIP_SSESSION_CREATE(stack,
+ // TSIP_SSESSION_SET_HEADER("to", "sip:alice@"DOMAIN),
+ // TSIP_SSESSION_SET_HEADER("Accept-Contact", "*;+g.oma.sip-im"),
+ //
+ // tsk_null);
+ // tsip_message(ss3,
+ // TSIP_ACTION_SET_HEADER("Content-Type", "text/plain"),
+ // TSIP_ACTION_SET_PAYLOAD("Hello world!", tsk_strlen("Hello world!")),
+
+ // tsk_null
+ // );
+ //}
+
+ /* PUBLISH */
+ /*{
+ tsip_ssession_handle_t *ss4 = TSIP_SSESSION_CREATE(stack,
+ TSIP_SSESSION_SET_HEADER("expires", "30"),
+ TSIP_SSESSION_SET_HEADER("to", "sip:mamadou@"DOMAIN),
+
+ TSIP_SSESSION_SET_HEADER("Accept-Contact", "*;+g.oma.sip-im"),
+ TSIP_SSESSION_SET_HEADER("Event", "presence"),
+
+ tsk_null);
+
+ tsip_publish(ss4,
+ TSIP_ACTION_SET_HEADER("Description", "publish"),
+ TSIP_ACTION_SET_HEADER("Content-Type", "application/pidf+xml"),
+ TSIP_ACTION_SET_PAYLOAD(TEST_STACK_PIDF, tsk_strlen(TEST_STACK_PIDF)),
+
+ tsk_null);
+
+ getchar();
+
+ tsip_unpublish(ss4,
+ TSIP_ACTION_SET_HEADER("Description", "unpublish"),
+
+ tsk_null);
+ }
+ */
+ // /*getchar();
+ // tsip_ssession_set(op4,
+ // TSIP_SSESSION_SET_PARAM("content", TEST_STACK_PIDF),
+
+ // TSIP_SSESSION_SET_NULL());
+ // tsip_publish(stack, op4);*/
+ //
+ // getchar();
+ // tsip_ssession_hangup(op4);
+ //
+ //}
bail:
- //while(1);//tsk_thread_sleep(500);
- //while(1)
- //tsk_thread_sleep(50000);
- getchar();
+ //while(1);//tsk_thread_sleep(500);
+ //while(1)
+ //tsk_thread_sleep(50000);
+ getchar();
- tsip_stack_stop(stack);
+ tsip_stack_stop(stack);
- TSK_OBJECT_SAFE_FREE(op);
- TSK_OBJECT_SAFE_FREE(stack);
+ TSK_OBJECT_SAFE_FREE(op);
+ TSK_OBJECT_SAFE_FREE(stack);
- TSK_DEBUG_INFO("==================");
- TSK_DEBUG_INFO("==================");
- TSK_DEBUG_INFO("==================");
- TSK_DEBUG_INFO("==================");
+ TSK_DEBUG_INFO("==================");
+ TSK_DEBUG_INFO("==================");
+ TSK_DEBUG_INFO("==================");
+ TSK_DEBUG_INFO("==================");
}
OpenPOWER on IntegriCloud