@@ -210,7 +210,7 @@ func (s *Session) GetEarlyMedia() string {
210210return s .answer
211211}
212212
213- //ProvideOffer .
213+ // ProvideOffer .
214214func (s * Session ) ProvideOffer (sdp string ) {
215215s .offer = sdp
216216}
@@ -220,7 +220,7 @@ func (s *Session) ProvideAnswer(sdp string) {
220220s .answer = sdp
221221}
222222
223- //Info send SIP INFO
223+ // Info send SIP INFO
224224func (s * Session ) Info (content string , contentType string ) {
225225method := sip .INFO
226226req := s .makeRequest (s .uaType , method , sip .MessageID (s .callID ), s .request , s .response )
@@ -230,7 +230,7 @@ func (s *Session) Info(content string, contentType string) {
230230s .sendRequest (req )
231231}
232232
233- //ReInvite send re-INVITE
233+ // ReInvite send re-INVITE
234234func (s * Session ) ReInvite () {
235235method := sip .INVITE
236236req := s .makeRequest (s .uaType , method , sip .MessageID (s .callID ), s .request , s .response )
@@ -240,7 +240,7 @@ func (s *Session) ReInvite() {
240240s .sendRequest (req )
241241}
242242
243- //Bye send Bye request.
243+ // Bye send Bye request.
244244func (s * Session ) Bye () (sip.Response , error ) {
245245req := s .makeRequest (s .uaType , sip .BYE , sip .MessageID (s .callID ), s .request , s .response )
246246return s .sendRequest (req )
@@ -261,7 +261,7 @@ func (s *Session) Reject(statusCode sip.StatusCode, reason string) {
261261tx .Respond (response )
262262}
263263
264- //End end session
264+ // End end session
265265func (s * Session ) End () error {
266266
267267if s .status == Terminated {
@@ -333,8 +333,17 @@ func (s *Session) Accept(statusCode sip.StatusCode) {
333333}
334334
335335// Redirect send a 3xx
336- func (s * Session ) Redirect (target string , code sip.StatusCode ) {
336+ func (s * Session ) Redirect (target sip.Uri , code sip.StatusCode , reason string ) {
337+ tx := (s .transaction .(sip.ServerTransaction ))
338+ request := s .request
339+
340+ s .Log ().Debugf ("Redirect: Request => %s, body => %s" , request .Short (), request .Body ())
337341
342+ response := sip .NewResponseFromRequest (request .MessageID (), request , code , reason , "" )
343+ s .contact .Address = target
344+ response .AppendHeader (s .contact )
345+
346+ tx .Respond (response )
338347}
339348
340349// Provisional send a provisional code 100|180|183
0 commit comments