So I washed this bit of code through NUA and I'm getting back 900 Internal
Error from the stack, triggering an nua_r_invite followed by an nua_r_state
with the same error.  I'm curious as to what I'm doing wrong.
event nua_r_invite status 900 Internal error at nua_stack.c:2578

Code:

/* */


#include <stdio.h>

#include <stdlib.h>

#include <stdint.h>

#include <sofia-sip/nua.h>

#include <sofia-sip/sip_header.h>


int main(int argc, char **argv);


void event_callback( nua_event_t event,

int status,

const char *phrase,

nua_t *nua,

nua_magic_t *magic,

nua_handle_t *nh,

nua_hmagic_t *hmagic,

const sip_t *sip,

tagi_t tags[]);


int main(int argc, char **argv)

{

su_root_t *root;

nua_t *nua;


 /* Init sofia nua stack */

su_init();

root = su_root_create(NULL);


 nua = nua_create( root,

event_callback,

NULL,

NUTAG_URL("sip:0.0.0.0:5060"),

TAG_END());


  /* Enter into the Sofia event loop */

su_root_run(root);

 /* Tear down NUA stack */

nua_destroy(nua);

su_root_destroy(root);

su_deinit();


 /* Done */

return(1);

}


void event_callback( nua_event_t event,

int status,

const char *phrase,

nua_t *nua,

nua_magic_t *magic,

nua_handle_t *nh,

nua_hmagic_t *hmagic,

const sip_t *sip,

tagi_t tags[])

{

nua_handle_t *new_leg_a;

nua_handle_t *new_leg_b;

sip_to_t *to;

sip_from_t *from;


 //printf("DEBUG: event %s status %d %s\n", nua_event_name(event), status,
phrase);


 switch(event)

{

case nua_i_invite:

//printf("INVITE received invite from phone number %s\n",
sip->sip_from->a_url->url_user);


 /* Set up and connect leg A (towards caller) */

to = sip->sip_from;

from = sip->sip_to;

new_leg_a = nua_handle(nua, hmagic, SIPTAG_TO(to), TAG_END());

nua_invite(new_leg_a, SIPTAG_FROM(from), TAG_END());

nua_respond(nh, 503, "Service Unavailable", TAG_END());


 /* Set up and connect leg B (towards cisco) */


 break;

case nua_i_state:

//printf("state change\n");

break;

default:

//printf("Unkown event occured\n");

break;

}

}

Debug output:
tport_wakeup_pri(0x308020): events IN
tport_recv_event(0x308020)
tport_recv_iovec(0x308020) msg 0x30c0d0 from (udp/127.0.0.1:5060) has 908
bytes, veclen = 1
tport_deliver(0x308020): msg 0x30c0d0 (892 bytes) from udp/
127.0.0.1:5060/sip next=0x0
nta: received INVITE sip:1...@127.0.0.1 <sip%3a...@127.0.0.1> SIP/2.0 (CSeq
1)
nta: INVITE (1) going to a default leg
nta: timer set to 200 ms
nua: nua_stack_process_request: entering
nua: nh_create: entering
nua: nh_create_handle: entering
nua: nua_stack_set_params: entering
soa_clone(static::0x305980, 0x303310, 0x309890) called
soa_set_params(static::0x309f80, ...) called
nta_leg_tcreate(0x30a290)
soa_init_offer_answer(static::0x309f80) called
soa_set_remote_sdp(static::0x309f80, 0x0, 0x80aa14, 360) called
nua(0x309890): adding session usage
tport_tsend(0x308020) tpn = UDP/127.0.0.1:41454
tport_resolve addrinfo = 127.0.0.1:41454
tport_by_addrinfo(0x308020): not found by name UDP/127.0.0.1:41454
tport_vsend returned 333
nta: sent 100 Trying for INVITE (1)
nua(0x309890): event i_invite 100 Trying
nua(0x309890): call state changed: init -> received, received offer
soa_get_remote_sdp(static::0x309f80, [0xb00807ac], [0xb00807a8], [0x0])
called
nua(0x309890): event i_state 100 Trying
nua: nua_application_event: entering
nua: nh_create_handle: entering
nua: nua_invite: entering
nua(0x30b1b0): sent signal r_invite
nua: nua_respond: entering
nua(0x309890): sent signal r_respond
nua: nua_application_event: entering
nua(0x30b1b0): recv signal r_invite
nua: nua_stack_set_params: entering
soa_clone(static::0x305980, 0x303310, 0x30b1b0) called
soa_set_params(static::0x30b600, ...) called
soa_set_params(static::0x30b600, ...) called
nta_leg_tcreate(0x30a240)
nua(0x30b1b0): adding session usage
soa_init_offer_answer(static::0x30b600) called
soa_generate_offer(static::0x30b600, 0) called
nua(0x30b1b0): event r_invite 900 Internal error at nua_stack.c:2578
nua(0x30b1b0): call state changed: init -> init
nua(0x30b1b0): event i_state 900 Internal error at nua_stack.c:2578
nua(0x30b1b0): event i_terminated 900 Internal error at nua_stack.c:2578
nua(0x30b1b0): removing session usage
soa_destroy(static::0x30b600) called
nta_leg_destroy(0x30a240)
nua(0x309890): recv signal r_respond 503 Service Unavailable
nua: nua_stack_set_params: entering
soa_set_params(static::0x309f80, ...) called
nua: nua_invite_server_respond: entering
soa_clear_remote_sdp(static::0x309f80) called
tport_tsend(0x308020) tpn = UDP/127.0.0.1:41454
tport_resolve addrinfo = 127.0.0.1:41454
tport_by_addrinfo(0x308020): not found by name UDP/127.0.0.1:41454
tport_vsend returned 507
nta: sent 503 Service Unavailable for INVITE (1)
nua(0x309890): removing session usage
nua(0x309890): call state changed: received -> terminated
nua(0x309890): event i_state 503 Service Unavailable
nua(0x309890): event i_terminated 503 Service Unavailable
soa_destroy(static::0x309f80) called
nta_leg_destroy(0x30a290)
nua: nua_application_event: entering
nua: nua_application_event: entering
nua: nua_application_event: entering
nua: nua_application_event: entering
nua: nua_application_event: entering
tport_wakeup_pri(0x308020): events IN
tport_recv_event(0x308020)
tport_recv_iovec(0x308020) msg 0x30a290 from (udp/127.0.0.1:5060) has 337
bytes, veclen = 1
tport_deliver(0x308020): msg 0x30a290 (321 bytes) from udp/
127.0.0.1:5060/sip next=0x0
nta: received ACK sip:1...@127.0.0.1 <sip%3a...@127.0.0.1> SIP/2.0 (CSeq 1)
nta: ACK (1) is going to INVITE (1)
nta: timer set next to 4804 ms
nta: timer I fired, terminate 503 response
incoming_reclaim_all(0x0, 0x0, 0xb0080d7c)
nta_incoming_timer: 0/0 resent, 0/0 tout, 1/1 term, 1/1 free
nta: timer not set
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to