Ignore:
Timestamp:
Apr 14, 2008 1:48:39 AM (14 years ago)
Author:
bennylp
Message:

More ticket #485: huge changeset to integrate TURN with ICE and PJSUA-LIB/pjsua. Still experimental

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/ice-turn07/pjnath/src/pjnath/turn_session.c

    r1914 r1926  
    6767    pj_turn_session_cb   cb; 
    6868    void                *user_data; 
     69    pj_stun_config       stun_cfg; 
    6970 
    7071    pj_lock_t           *lock; 
     
    177178 * Create TURN client session. 
    178179 */ 
    179 PJ_DEF(pj_status_t) pj_turn_session_create( pj_stun_config *cfg, 
     180PJ_DEF(pj_status_t) pj_turn_session_create( const pj_stun_config *cfg, 
    180181                                            const char *name, 
    181182                                            int af, 
     
    212213    sess->next_ch = PJ_TURN_CHANNEL_MIN; 
    213214 
     215    /* Copy STUN session */ 
     216    pj_memcpy(&sess->stun_cfg, cfg, sizeof(pj_stun_config)); 
     217 
    214218    /* Copy callback */ 
    215219    pj_memcpy(&sess->cb, cb, sizeof(*cb)); 
     
    234238    stun_cb.on_request_complete = &stun_on_request_complete; 
    235239    stun_cb.on_rx_indication = &stun_on_rx_indication; 
    236     status = pj_stun_session_create(cfg, sess->obj_name, &stun_cb, PJ_FALSE, 
    237                                     &sess->stun); 
     240    status = pj_stun_session_create(&sess->stun_cfg, sess->obj_name, &stun_cb, 
     241                                    PJ_FALSE, &sess->stun); 
    238242    if (status != PJ_SUCCESS) { 
    239243        do_destroy(sess); 
     
    850854 */ 
    851855PJ_DEF(pj_status_t) pj_turn_session_on_rx_pkt(pj_turn_session *sess, 
    852                                               const pj_uint8_t *pkt, 
     856                                              void *pkt, 
    853857                                              unsigned pkt_len, 
    854858                                              pj_bool_t is_datagram) 
     
    865869 
    866870    /* Quickly check if this is STUN message */ 
    867     is_stun = ((pkt[0] & 0xC0) == 0); 
     871    is_stun = ((((pj_uint8_t*)pkt)[0] & 0xC0) == 0); 
    868872 
    869873    if (is_stun) { 
     
    871875        unsigned options; 
    872876 
    873         options = PJ_STUN_CHECK_PACKET; 
     877        options = PJ_STUN_CHECK_PACKET | PJ_STUN_NO_FINGERPRINT_CHECK; 
    874878        if (is_datagram) 
    875879            options |= PJ_STUN_IS_DATAGRAM; 
     
    906910 
    907911        /* Notify application */ 
    908         (*sess->cb.on_rx_data)(sess, pkt+sizeof(cd), cd.length, 
    909                                &peer->addr, 
     912        (*sess->cb.on_rx_data)(sess, ((pj_uint8_t*)pkt)+sizeof(cd),  
     913                               cd.length, &peer->addr, 
    910914                               pj_sockaddr_get_len(&peer->addr)); 
    911915 
Note: See TracChangeset for help on using the changeset viewer.