[Serusers] send_reply() error from pa module

Jan Janak jan at iptel.org
Tue Jul 29 18:24:44 CEST 2003


Hello,

please check that you call handle_subscribe within a condition like
this:

if (t_newtran()) {
...
};

   Jan.

On 29-07 09:14, Kevin Chu wrote:
> Hi,
> 
> I tried to use the pa modules to process SUBSCRIBE request from SIP user.
> However, the following error message was returned when the pa module tried
> to send 200 OK response:
> 
>  0(19584) ERROR: t_reply: cannot send a t_reply to a message for which no
> T-state has been established
>  0(19584) send_reply(): Error while sending 200 OK
> 
> Looks like the transaction state was missing while sending the response.
> Please see the attached debug
> and error message. I can't figure out the reason for that error, could
> anybody help me out? Thanks!
> 
> BR,
> Kevin
> 

>  0(19584) SIP Request:
>  0(19584)  method:  <SUBSCRIBE>
>  0(19584)  uri:     <sip:kchu at 192.170.106.71>
>  0(19584)  version: <SIP/2.0>
>  0(19584) parse_headers: flags=1
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c06cc frag. 0x80c06b4 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 116) called from parser/msg_parser.c: get_hdr_field(109)
>  0(19584) qm_malloc(0x80b6f60, 116) returns address 0x80bfd10 frag. 0x80bfcf8 (size=116) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/parse_via.c: parse_via(1776)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0954 frag. 0x80c093c (size=32) on 1 -th hit
>  0(19584) Found param type 232, <branch> = <35a62b0a16a04f4549dade71a3fb09b5.0>; state=16
>  0(19584) end of header reached, state=5
>  0(19584) parse_headers: Via found, flags=1
>  0(19584) parse_headers: this is the first via
>  0(19584) After parse_msg...
>  0(19584) preparing to run routing scripts...
>  0(19584) DEBUG : is_maxfwd_present: searching for max_forwards header
>  0(19584) parse_headers: flags=128
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0904 frag. 0x80c08ec (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 116) called from parser/msg_parser.c: get_hdr_field(109)
>  0(19584) qm_malloc(0x80b6f60, 116) returns address 0x80bf720 frag. 0x80bf708 (size=116) on 1 -th hit
>  0(19584) end of header reached, state=5
>  0(19584) parse_headers: Via found, flags=128
>  0(19584) parse_headers: this is the second via
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c067c frag. 0x80c0664 (size=32) on 1 -th hit
>  0(19584) DEBUG: is_maxfwd_present: value = 69
>  0(19584) parse_headers: flags=8
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c08b4 frag. 0x80c089c (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 36) called from parser/parse_from.c: parse_from_header(62)
>  0(19584) qm_malloc(0x80b6f60, 36) returns address 0x80c09a4 frag. 0x80c098c (size=36) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 24) called from parser/parse_to.c: parse_to_param(283)
>  0(19584) qm_malloc(0x80b6f60, 24) returns address 0x80c026c frag. 0x80c0254 (size=24) on 1 -th hit
>  0(19584) DEBUG: add_param: tag=30f66dc2fb1c48f582334745f71cc15b
>  0(19584) qm_malloc(0x80b6f60, 24) called from parser/parse_to.c: parse_to_param(283)
>  0(19584) qm_malloc(0x80b6f60, 24) returns address 0x80c09f8 frag. 0x80c09e0 (size=28) on 1 -th hit
>  0(19584) DEBUG: add_param: epid=2ffb27842c
>  0(19584) end of header reached, state=29
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: anchor_lump(292)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0864 frag. 0x80c084c (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: anchor_lump(292)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0814 frag. 0x80c07fc (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_cond_lump_after(212)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c07c4 frag. 0x80c07ac (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_cond_lump_before(238)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0304 frag. 0x80c02ec (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 24) called from record.c: build_rr(109)
>  0(19584) qm_malloc(0x80b6f60, 24) returns address 0x80bf7c4 frag. 0x80bf7ac (size=28) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 45) called from record.c: build_rr(115)
>  0(19584) qm_malloc(0x80b6f60, 48) returns address 0x80c0760 frag. 0x80c0748 (size=52) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 2) called from record.c: build_rr(117)
>  0(19584) qm_malloc(0x80b6f60, 4) returns address 0x80be940 frag. 0x80be928 (size=4) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 6) called from record.c: build_rr(119)
>  0(19584) qm_malloc(0x80b6f60, 8) returns address 0x80bf8bc frag. 0x80bf8a4 (size=8) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_after(111)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c062c frag. 0x80c0614 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_subst_lump_after(161)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c05dc frag. 0x80c05c4 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_cond_lump_after(212)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c03a4 frag. 0x80c038c (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_after(111)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c02b4 frag. 0x80c029c (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_before(136)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c058c frag. 0x80c0574 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_before(136)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c053c frag. 0x80c0524 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: anchor_lump(292)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c04ec frag. 0x80c04d4 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: anchor_lump(292)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c049c frag. 0x80c0484 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 24) called from record.c: build_rr(109)
>  0(19584) qm_malloc(0x80b6f60, 24) returns address 0x80c0354 frag. 0x80c033c (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 45) called from record.c: build_rr(115)
>  0(19584) qm_malloc(0x80b6f60, 48) returns address 0x80c0438 frag. 0x80c0420 (size=52) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 2) called from record.c: build_rr(117)
>  0(19584) qm_malloc(0x80b6f60, 4) returns address 0x80beccc frag. 0x80becb4 (size=4) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 6) called from record.c: build_rr(119)
>  0(19584) qm_malloc(0x80b6f60, 8) returns address 0x80bf930 frag. 0x80bf918 (size=8) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_after(111)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0178 frag. 0x80c0160 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_subst_lump_after(161)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c01c8 frag. 0x80c01b0 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_cond_lump_after(212)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0128 frag. 0x80c0110 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_after(111)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c00d8 frag. 0x80c00c0 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_before(136)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0088 frag. 0x80c0070 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from data_lump.c: insert_new_lump_before(136)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80c0038 frag. 0x80c0020 (size=32) on 1 -th hit
>  0(19584) parse_headers: flags=256
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bffe8 frag. 0x80bffd0 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 36) called from parser/msg_parser.c: get_hdr_field(149)
>  0(19584) qm_malloc(0x80b6f60, 36) returns address 0x80bfe54 frag. 0x80bfe3c (size=36) on 1 -th hit
>  0(19584) end of header reached, state=9
>  0(19584) DEBUG: get_hdr_field: <To> [27]; uri=[sip:kchu at 192.170.106.71]
>  0(19584) DEBUG: to body [<sip:kchu at 192.170.106.71>
> ]
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bff98 frag. 0x80bff80 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bff48 frag. 0x80bff30 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 20) called from parser/msg_parser.c: get_hdr_field(128)
>  0(19584) qm_malloc(0x80b6f60, 20) returns address 0x80c071c frag. 0x80c0704 (size=20) on 1 -th hit
>  0(19584) get_hdr_field: cseq <CSeq>: <1> <SUBSCRIBE>
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bfef8 frag. 0x80bfee0 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bfea8 frag. 0x80bfe90 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bfe04 frag. 0x80bfdec (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bfdb4 frag. 0x80bfd9c (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bfcc0 frag. 0x80bfca8 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bf9b8 frag. 0x80bf9a0 (size=32) on 1 -th hit
>  0(19584) DEBUG: get_hdr_body : content_length=0
>  0(19584) qm_malloc(0x80b6f60, 32) called from parser/msg_parser.c: parse_headers(271)
>  0(19584) qm_malloc(0x80b6f60, 32) returns address 0x80bf968 frag. 0x80bf950 (size=32) on 1 -th hit
>  0(19584) found end of header
>  0(19584) qm_free(0x80b6f60, 0x80bf968), called from parser/msg_parser.c: parse_headers(287)
>  0(19584) qm_free: freeing frag. 0x80bf950 alloc'ed from parser/msg_parser.c: parse_headers(271)
>  0(19584) find_first_route(): No Route headers found
>  0(19584) loose_route(): There is no Route HF
>  0(19584) check_self - checking if host==us: 14==14 &&  [192.170.106.71] == [192.170.106.71]
>  0(19584) parse_headers: flags=6299656
>  0(19584) qm_malloc(0x80b6f60, 12) called from parser/parse_event.c: parse_event(115)
>  0(19584) qm_malloc(0x80b6f60, 12) returns address 0x80bf654 frag. 0x80bf63c (size=12) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 43) called from subscribe.c: parse_accept(155)
>  0(19584) qm_malloc(0x80b6f60, 44) returns address 0x80c0a44 frag. 0x80c0a2c (size=56) on 1 -th hit
>  0(19584) qm_free(0x80b6f60, 0x80c0a44), called from subscribe.c: parse_accept(171)
>  0(19584) qm_free: freeing frag. 0x80c0a2c alloc'ed from subscribe.c: parse_accept(155)
> 0(19584) qm_malloc(0x42133000, 51) called from presentity.c: new_presentity(54)
>  0(19584) qm_malloc(0x42133000, 52) returns address 0x422c051c frag. 0x422c0504 (size=52) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 108) called from dlg.c: new_dlg_uas(733)
>  0(19584) qm_malloc(0x42133000, 108) returns address 0x422c0580 frag. 0x422c0568 (size=108) on 1 -th hit
>  0(19584) parse_headers: flags=-1
>  0(19584) qm_malloc(0x80b6f60, 8) called from parser/contact/parse_contact.c: parse_contact(81)
>  0(19584) qm_malloc(0x80b6f60, 8) returns address 0x80bf884 frag. 0x80bf86c (size=8) on 1 -th hit
>  0(19584) qm_malloc(0x80b6f60, 36) called from parser/contact/contact.c: parse_contacts(194)
>  0(19584) qm_malloc(0x80b6f60, 36) returns address 0x80c0218 frag. 0x80c0200 (size=36) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 25) called from dlg.c: str_duplicate(88)
>  0(19584) qm_malloc(0x42133000, 28) returns address 0x422c061c frag. 0x422c0604 (size=28) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 32) called from dlg.c: str_duplicate(88)
>  0(19584) qm_malloc(0x42133000, 32) returns address 0x422c0668 frag. 0x422c0650 (size=32) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 48) called from dlg.c: str_duplicate(88)
>  0(19584) qm_malloc(0x42133000, 48) returns address 0x422c06b8 frag. 0x422c06a0 (size=48) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 46) called from dlg.c: get_dlg_uri(640)
>  0(19584) qm_malloc(0x42133000, 48) returns address 0x422c0718 frag. 0x422c0700 (size=48) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 25) called from dlg.c: get_dlg_uri(640)
>  0(19584) qm_malloc(0x42133000, 28) returns address 0x422c0778 frag. 0x422c0760 (size=28) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 37) called from dlg.c: str_duplicate(88)
>  0(19584) qm_malloc(0x42133000, 40) returns address 0x422c07c4 frag. 0x422c07ac (size=40) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 45) called from watcher.c: new_watcher(53)
>  0(19584) qm_malloc(0x42133000, 48) returns address 0x422c081c frag. 0x422c0804 (size=48) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 40) called from urecord.c: new_urecord(53)
>  0(19584) qm_malloc(0x42133000, 40) returns address 0x422c087c frag. 0x422c0864 (size=40) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 23) called from urecord.c: new_urecord(60)
>  0(19584) qm_malloc(0x42133000, 24) returns address 0x422c08d4 frag. 0x422c08bc (size=24) on 1 -th hit
>  0(19584) qm_malloc(0x42133000, 12) called from notify.c: add_watcher(31)
>  0(19584) qm_malloc(0x42133000, 12) returns address 0x422c091c frag. 0x422c0904 (size=12) on 1 -th hit
> 0(19584) DEBUG: t_check: msg id=2 global id=0 T start=0xffffffff
>  0(19584) parse_headers: flags=-1
>  0(19584) parse_headers: flags=60
>  0(19584) t_lookup_request: start searching: hash=45014, isACK=0
>  0(19584) DEBUG: proceeding to pre-RFC3261 transaction matching
>  0(19584) DEBUG: t_lookup_request: no transaction found
>  0(19584) DEBUG: t_check: msg id=2 global id=2 T end=(nil)
>  0(19584) ERROR: t_reply: cannot send a t_reply to a message for which no T-state has been established
>  0(19584) send_reply(): Error while sending 200 OK
>  
> 

> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20030729/c42238fa/attachment.pgp>


More information about the sr-users mailing list