diff options
Diffstat (limited to 'tinySIP/test/test_stack.h')
-rwxr-xr-x | tinySIP/test/test_stack.h | 832 |
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("=================="); } |