Florian, I had the same issue using Asterisk and Kamailio. Basically the problem is that Asterisk interprets the call as a Loop (in the worst case) or might continue resolving the call locally without taking care of the changes you made in Kamaili.
I solved my issue using 3XX (redirect) messages. Example: sl_send_reply("301", "Go Here"); Try that on teh first place, then you can continue using Asterisk's dialplan to change message details. Cheers, Uriel On Tue, Dec 1, 2009 at 11:39 AM, Florian Meister < florian.meis...@teleport.vol.at> wrote: > Hi, > > basically I'm using this structure at the moment: > > SIP Users <----> Kamailio <-----> Asterisk <-----> PSTN > > I have to add a diversion-functionality at kamailio-level, so to simply > rewrite $ru with something else defined in the database. That's working > without problems. For billing issues, I also have to add a Remote-Party-ID > header, set to the SIP user, which initiated the redirect in the database. > > Now to the problem: > > When a call is coming from PSTN, it's passing the asterisk server, then at > kamailio level $ru is rewritten and sent back to asterisk (I'm talking about > a redirect to a number in PSTN here) > > What I've seen from the logs is, that asterisk is seeing that it gets an > invite back with the same call-id, and therefore it cancels the original > invite and handles the whole call internally via the Local Channel. The > Problem is, that in the invite sent from kamailio back to asterisk, I've set > a Remote-Party-ID header to tell asterisk to set the Callerid correctly for > billing purposes. Now it seems that asterisk is _ignoring_ this header from > the second invite. > > So is this an expected behavior ? If yes, how to do it correctly ? > > Below you can see the verbose output of asterisk. Since the call is handled > at "Local" Channels the function to read sip headers does not work. The only > message I get is "thanks to SIP/tpsiptestproxyu01-00d0a0b8". > > -- Called tpsiptestproxyu01/+435572949012 > -- Now forwarding DAHDI/2-1 to 'Local/066480588...@from-internal' > (thanks to SIP/tpsiptestproxyu01-00d0a0b8) > -- Executing [066480588...@from-internal:1] > NoOp("Local/066480588...@from-internal-d69e;2", "435572501134") in new > stack > [Dec 1 15:14:50] WARNING[20506]: chan_sip.c:15797 func_header_read: This > function can only be used on SIP channels. > -- Executing [066480588...@from-internal:2] > NoOp("Local/066480588...@from-internal-d69e;2", "") in new stack > -- Executing [066480588...@from-internal:3] > Dial("Local/066480588...@from-internal-d69e;2", "DAHDI/G0/066480588134") > in new stack > -- Requested transfer capability: 0x00 - SPEECH > -- Called G0/066480588134 > -- DAHDI/124-1 is proceeding passing it to > Local/066480588...@from-internal-d69e;2 > -- Local/066480588...@from-internal-d69e;1 is proceeding passing it to > DAHDI/2-1 > > In the SIP debug you can see that asterisk is cancelling the dialog with > kamailio and doing it itself: > > 13:49:30.589054 IP [--ASTERISK--].5060 > [--KAMAILIO--].5060: SIP, length: > 938 > e.......@..l..,L..,N........INVITE sip:+435572949...@[--kamailio--] > SIP/2.0 > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport > Max-Forwards: 70 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949...@[--kamailio--]> > Contact: <sip:435572501...@[--asterisk--]> > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 INVITE > User-Agent: Asterisk PBX 1.6.1.5 > Remote-Party-ID: "435572501134" <sip:435572501134@ > [--ASTERISK--]>;privacy=off;screen=yes > Date: Tue, 01 Dec 2009 12:49:30 GMT > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO > Supported: replaces, timer > Content-Type: application/sdp > Content-Length: 263 > > v=0 > o=root 930830518 930830518 IN IP4 [--ASTERISK--] > s=Asterisk PBX 1.6.1.5 > c=IN IP4 [--ASTERISK--] > t=0 0 > m=audio 16924 RTP/AVP 8 101 > a=rtpmap:8 PCMA/8000 > a=rtpmap:101 telephone-event/8000 > a=fmtp:101 0-16 > a=silenceSupp:off - - - - > a=ptime:20 > a=sendrecv > > 13:49:30.591037 IP [--KAMAILIO--].5060 > [--ASTERISK--].5060: SIP, length: > 342 > e.....@.@.[0..,N..,L.....^.aSIP/2.0 100 Trying > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport=5060 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949...@[--kamailio--]> > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 INVITE > Server: OpenSER (1.3.2-notls (x86_64/linux)) > Content-Length: 0 > > > 13:49:30.594345 IP [--KAMAILIO--].5060 > [--ASTERISK--].5060: SIP, length: > 1093 > e.....@.@.XA..,N..,L.....M+LINVITE > sip:066480588...@[--asterisk--]:5060;transport=udp > SIP/2.0 > Record-Route: <sip:[--KAMAILIO--];lr;ftag=as27658014> > Via: SIP/2.0/UDP [--KAMAILIO--];branch=z9hG4bK06.05390227.0 > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport=5060 > Max-Forwards: 69 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949...@[--kamailio--]> > Contact: <sip:435572501...@[--asterisk--]> > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 INVITE > User-Agent: Asterisk PBX 1.6.1.5 > Date: Tue, 01 Dec 2009 12:49:30 GMT > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO > Supported: replaces, timer > Content-Type: application/sdp > Content-Length: 263 > Remote-Party-ID: "435572949012" > <sip:435572949...@tpseru01.tele.net<sip%3a435572949...@tpseru01.tele.net> > >;party=caller;privacy=none;screen=yes > > v=0 > o=root 930830518 930830518 IN IP4 [--ASTERISK--] > s=Asterisk PBX 1.6.1.5 > c=IN IP4 [--ASTERISK--] > t=0 0 > m=audio 16924 RTP/AVP 8 101 > a=rtpmap:8 PCMA/8000 > a=rtpmap:101 telephone-event/8000 > a=fmtp:101 0-16 > a=silenceSupp:off - - - - > a=ptime:20 > a=sendrecv > > 13:49:30.594605 IP [--ASTERISK--].5060 > [--KAMAILIO--].5060: SIP, length: > 460 > e.......@..)..,L..,N....... CANCEL sip:+435572949...@[--kamailio--] > SIP/2.0 > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport > Max-Forwards: 70 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949...@[--kamailio--]> > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 CANCEL > User-Agent: Asterisk PBX 1.6.1.5 > Remote-Party-ID: "435572501134" <sip:435572501134@ > [--ASTERISK--]>;privacy=off;screen=yes > Content-Length: 0 > > > 13:49:30.596307 IP [--KAMAILIO--].5060 > [--ASTERISK--].5060: SIP, length: > 387 > e.....@.@.[...,N..,L.......KSIP/2.0 200 canceling > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport=5060 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949012@ > [--KAMAILIO--]>;tag=45db18648893e7acabf725621374d382-4ddb > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 CANCEL > Server: OpenSER (1.3.2-notls (x86_64/linux)) > Content-Length: 0 > > > 13:49:30.596801 IP [--KAMAILIO--].5060 > [--ASTERISK--].5060: SIP, length: > 396 > e.....@.@.Z...,N..,L.......kSIP/2.0 487 Request Terminated > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport=5060 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949012@ > [--KAMAILIO--]>;tag=45db18648893e7acabf725621374d382-4ddb > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 INVITE > Server: OpenSER (1.3.2-notls (x86_64/linux)) > Content-Length: 0 > > > 13:49:30.596842 IP [--ASTERISK--].5060 > [--KAMAILIO--].5060: SIP, length: > 539 > e..7....@.....,L..,N.....#.oACK sip:+435572949...@[--kamailio--] SIP/2.0 > Via: SIP/2.0/UDP [--ASTERISK--]:5060;branch=z9hG4bK5629d66b;rport > Max-Forwards: 70 > From: "435572501134" <sip:435572501...@[--asterisk--]>;tag=as27658014 > To: <sip:+435572949012@ > [--KAMAILIO--]>;tag=45db18648893e7acabf725621374d382-4ddb > Contact: <sip:435572501...@[--asterisk--]> > Call-ID: 4bbee84339a9e2d30850185317983...@[--asterisk--] > CSeq: 102 ACK > User-Agent: Asterisk PBX 1.6.1.5 > Remote-Party-ID: "435572501134" <sip:435572501134@ > [--ASTERISK--]>;privacy=off;screen=yes > Content-Length: 0 > > > Thanks, > > Florian > > _______________________________________________ > Kamailio (OpenSER) - Users mailing list > Users@lists.kamailio.org > http://lists.kamailio.org/cgi-bin/mailman/listinfo/users > http://lists.openser-project.org/cgi-bin/mailman/listinfo/users >
_______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users