[asterisk-dev] How to get SIP packet source ip address in asterisk application
santoshchintalwar at gmail.com
santoshchintalwar at gmail.com
Tue Nov 17 02:33:57 CST 2009
There is one way to access it.
Create a new header file in include/asterisk directory.
Remove the structure from chan_sip.c and add it to the new header, and
include it in chan_sip.c as well as your custom application.
I did the same thing and it works fine for me.
Thanks,
Santosh.
Alex Massover wrote:
> Hi!
>
> I also want to access sip_pvt from custom application, I'm trying to follow your suggestion but AFAIU:
> sip_pvt is defined in chan_sip.c and there's no header that I can include, so there's no way to access sip_pvt from custom application?
>
> Accessing ((struct sip_pvt *) chan->tech_pvt)->callid results in "error: dereferencing pointer to incomplete type"
>
> Do I miss something? I'm using 1.4.
>
> --
> Best Regards,
> Alex Massover
> VoIP R&D TL
> Jajah Inc.
>
>
>> -----Original Message-----
>> From: asterisk-dev-bounces at lists.digium.com [mailto:asterisk-dev-
>> bounces at lists.digium.com] On Behalf Of Kai Hoerner
>> Sent: Monday, November 16, 2009 9:28 AM
>> To: Asterisk Developers Mailing List
>> Subject: Re: [asterisk-dev] How to get SIP packet source ip address in
>> asterisk application
>>
>> Hi,
>>
>> i suggest you leave the authentication to the asterisk SIP stack and
>> only let the authenticated peer enter the right context that contains
>> your call to Application().
>>
>>
>> if you really plan to implement authentication on your own (i see no
>> good reason for that) you should start by looking at the "ast_channel"
>> and "sip_pvt" structs. "sip_pvt" holds all information about the active
>> SIP "dialog" (i.e. "call" in this case)
>>
>> channel->tech_pvt is a pointer from the ast_channel abstraction to the
>> SIP tech-specific object. (of type sip_pvt)
>> Before accessing any of its properties you want to check if the channel
>> is type SIP.
>>
>> http://www.asterisk.org/doxygen/asterisk1.6.2/structsip__pvt.html
>>
>>
>> ast guy schrieb:
>>
>>> Hi,
>>>
>>> I have made an application an asterisk. Can any one tell how do I
>>>
>> get
>>
>>> the source IP address of the SIP packets inside my app_Application()?
>>> Application only gets the ast_channel variable and *data passed to
>>>
>> it.
>>
>>> SIP Call is being forwarded to my application from some Service
>>> Provider. So when app_Applicaiton() is in execute state then I want
>>>
>> to
>>
>>> get the sip source packet ip address and then authenticate it.
>>>
>>> Regards,
>>> /ag
>>>
>>> _______________________________________________
>>> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>>>
>>> asterisk-dev mailing list
>>> To UNSUBSCRIBE or update options visit:
>>> http://lists.digium.com/mailman/listinfo/asterisk-dev
>>>
>>>
>>>
>> _______________________________________________
>> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>>
>> asterisk-dev mailing list
>> To UNSUBSCRIBE or update options visit:
>> http://lists.digium.com/mailman/listinfo/asterisk-dev
>>
>> This mail was received via Mail-SeCure System.
>>
>>
>
>
> This mail was sent via Mail-SeCure System.
>
>
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>
More information about the asterisk-dev
mailing list