Changeset 2642


Ignore:
Timestamp:
Apr 22, 2009 5:20:24 PM (15 years ago)
Author:
bennylp
Message:

Part of ticket #780: enhance the PJNATH doxygen documentation

Location:
pjproject/trunk/pjnath
Files:
8 added
20 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjnath/build/pjnath.dsp

    r1988 r2642  
    201201# End Source File 
    202202# End Group 
     203# Begin Group "Doxygen Files" 
     204 
     205# PROP Default_Filter "" 
     206# Begin Source File 
     207 
     208SOURCE=..\docs\doc_ice.h 
     209# End Source File 
     210# Begin Source File 
     211 
     212SOURCE=..\docs\doc_mainpage.h 
     213# End Source File 
     214# Begin Source File 
     215 
     216SOURCE=..\docs\doc_nat.h 
     217# End Source File 
     218# Begin Source File 
     219 
     220SOURCE=..\docs\doc_samples.h 
     221# End Source File 
     222# Begin Source File 
     223 
     224SOURCE=..\docs\doc_stun.h 
     225# End Source File 
     226# Begin Source File 
     227 
     228SOURCE=..\docs\doc_turn.h 
     229# End Source File 
     230# End Group 
    203231# End Target 
    204232# End Project 
  • pjproject/trunk/pjnath/build/pjnath.vcproj

    r2638 r2642  
    2323                <Configuration 
    2424                        Name="Release|Win32" 
     25                        ConfigurationType="4" 
    2526                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" 
    26  
    27                         ATLMinimizesCRunTimeLibraryUsage="false" 
    28  
     27                        UseOfMFC="0" 
     28                        ATLMinimizesCRunTimeLibraryUsage="false" 
    2929                        CharacterSet="2" 
    30  
    31                         ConfigurationType="4" 
    32                         UseOfMFC="0" 
    33                         > 
    34                         <Tool 
    35                                 Name="VCPreBuildEventTool" 
    36                         /> 
    37                         <Tool 
    38                                 Name="VCCustomBuildTool" 
    39                         /> 
    40                         <Tool 
    41                                 Name="VCXMLDataGeneratorTool" 
    42                         /> 
    43                         <Tool 
    44                                 Name="VCWebServiceProxyGeneratorTool" 
    45                         /> 
    46                         <Tool 
    47                                 Name="VCMIDLTool" 
    48                         /> 
    49                         <Tool 
    50                                 Name="VCCLCompilerTool" 
    51                                 PrecompiledHeaderFile="" 
    52  
    53                                 PreprocessorDefinitions="_LIB;" 
    54  
     30                        > 
     31                        <Tool 
     32                                Name="VCPreBuildEventTool" 
     33                        /> 
     34                        <Tool 
     35                                Name="VCCustomBuildTool" 
     36                        /> 
     37                        <Tool 
     38                                Name="VCXMLDataGeneratorTool" 
     39                        /> 
     40                        <Tool 
     41                                Name="VCWebServiceProxyGeneratorTool" 
     42                        /> 
     43                        <Tool 
     44                                Name="VCMIDLTool" 
     45                        /> 
     46                        <Tool 
     47                                Name="VCCLCompilerTool" 
    5548                                AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" 
     49                                PreprocessorDefinitions="_LIB;" 
     50                                PrecompiledHeaderFile="" 
    5651                        /> 
    5752                        <Tool 
     
    8580                <Configuration 
    8681                        Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" 
     82                        ConfigurationType="4" 
    8783                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" 
    88  
    89                         ATLMinimizesCRunTimeLibraryUsage="false" 
    90  
     84                        ATLMinimizesCRunTimeLibraryUsage="false" 
    9185                        CharacterSet="1" 
    92  
    93                         ConfigurationType="4" 
    94                         > 
    95                         <Tool 
    96                                 Name="VCPreBuildEventTool" 
    97                         /> 
    98                         <Tool 
    99                                 Name="VCCustomBuildTool" 
    100                         /> 
    101                         <Tool 
    102                                 Name="VCXMLDataGeneratorTool" 
    103                         /> 
    104                         <Tool 
    105                                 Name="VCWebServiceProxyGeneratorTool" 
    106                         /> 
    107                         <Tool 
    108                                 Name="VCMIDLTool" 
    109                         /> 
    110                         <Tool 
    111                                 Name="VCCLCompilerTool" 
    112                                 PrecompiledHeaderFile="" 
    113  
    114                                 PreprocessorDefinitions="_LIB;" 
    115  
     86                        > 
     87                        <Tool 
     88                                Name="VCPreBuildEventTool" 
     89                        /> 
     90                        <Tool 
     91                                Name="VCCustomBuildTool" 
     92                        /> 
     93                        <Tool 
     94                                Name="VCXMLDataGeneratorTool" 
     95                        /> 
     96                        <Tool 
     97                                Name="VCWebServiceProxyGeneratorTool" 
     98                        /> 
     99                        <Tool 
     100                                Name="VCMIDLTool" 
     101                        /> 
     102                        <Tool 
     103                                Name="VCCLCompilerTool" 
     104                                ExecutionBucket="7" 
    116105                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     106                                PreprocessorDefinitions="_LIB;" 
     107                                PrecompiledHeaderFile="" 
    117108                        /> 
    118109                        <Tool 
     
    128119                                Name="VCLibrarianTool" 
    129120                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).lib" 
    130  
    131  
    132121                        /> 
    133122                        <Tool 
     
    157146                <Configuration 
    158147                        Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" 
     148                        ConfigurationType="4" 
    159149                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" 
    160  
    161                         ATLMinimizesCRunTimeLibraryUsage="false" 
    162  
     150                        ATLMinimizesCRunTimeLibraryUsage="false" 
    163151                        CharacterSet="1" 
    164  
    165                         ConfigurationType="4" 
    166                         > 
    167                         <Tool 
    168                                 Name="VCPreBuildEventTool" 
    169                         /> 
    170                         <Tool 
    171                                 Name="VCCustomBuildTool" 
    172                         /> 
    173                         <Tool 
    174                                 Name="VCXMLDataGeneratorTool" 
    175                         /> 
    176                         <Tool 
    177                                 Name="VCWebServiceProxyGeneratorTool" 
    178                         /> 
    179                         <Tool 
    180                                 Name="VCMIDLTool" 
    181                         /> 
    182                         <Tool 
    183                                 Name="VCCLCompilerTool" 
    184                                 PrecompiledHeaderFile="" 
    185  
    186                                 PreprocessorDefinitions="_LIB;" 
    187  
     152                        > 
     153                        <Tool 
     154                                Name="VCPreBuildEventTool" 
     155                        /> 
     156                        <Tool 
     157                                Name="VCCustomBuildTool" 
     158                        /> 
     159                        <Tool 
     160                                Name="VCXMLDataGeneratorTool" 
     161                        /> 
     162                        <Tool 
     163                                Name="VCWebServiceProxyGeneratorTool" 
     164                        /> 
     165                        <Tool 
     166                                Name="VCMIDLTool" 
     167                        /> 
     168                        <Tool 
     169                                Name="VCCLCompilerTool" 
     170                                ExecutionBucket="7" 
    188171                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     172                                PreprocessorDefinitions="_LIB;" 
     173                                PrecompiledHeaderFile="" 
    189174                        /> 
    190175                        <Tool 
     
    200185                                Name="VCLibrarianTool" 
    201186                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).lib" 
    202  
    203  
    204187                        /> 
    205188                        <Tool 
     
    229212                <Configuration 
    230213                        Name="Debug|Win32" 
     214                        ConfigurationType="4" 
    231215                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" 
    232  
    233                         ATLMinimizesCRunTimeLibraryUsage="false" 
    234  
     216                        UseOfMFC="0" 
     217                        ATLMinimizesCRunTimeLibraryUsage="false" 
    235218                        CharacterSet="2" 
    236  
    237                         ConfigurationType="4" 
    238                         UseOfMFC="0" 
    239                         > 
    240                         <Tool 
    241                                 Name="VCPreBuildEventTool" 
    242                         /> 
    243                         <Tool 
    244                                 Name="VCCustomBuildTool" 
    245                         /> 
    246                         <Tool 
    247                                 Name="VCXMLDataGeneratorTool" 
    248                         /> 
    249                         <Tool 
    250                                 Name="VCWebServiceProxyGeneratorTool" 
    251                         /> 
    252                         <Tool 
    253                                 Name="VCMIDLTool" 
    254                         /> 
    255                         <Tool 
    256                                 Name="VCCLCompilerTool" 
    257                                 PrecompiledHeaderFile="" 
    258  
    259                                 PreprocessorDefinitions="_LIB;" 
    260  
     219                        > 
     220                        <Tool 
     221                                Name="VCPreBuildEventTool" 
     222                        /> 
     223                        <Tool 
     224                                Name="VCCustomBuildTool" 
     225                        /> 
     226                        <Tool 
     227                                Name="VCXMLDataGeneratorTool" 
     228                        /> 
     229                        <Tool 
     230                                Name="VCWebServiceProxyGeneratorTool" 
     231                        /> 
     232                        <Tool 
     233                                Name="VCMIDLTool" 
     234                        /> 
     235                        <Tool 
     236                                Name="VCCLCompilerTool" 
    261237                                AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" 
     238                                PreprocessorDefinitions="_LIB;" 
     239                                PrecompiledHeaderFile="" 
    262240                        /> 
    263241                        <Tool 
     
    291269                <Configuration 
    292270                        Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" 
     271                        ConfigurationType="4" 
    293272                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" 
    294  
    295                         ATLMinimizesCRunTimeLibraryUsage="false" 
    296  
     273                        ATLMinimizesCRunTimeLibraryUsage="false" 
    297274                        CharacterSet="1" 
    298  
    299                         ConfigurationType="4" 
    300                         > 
    301                         <Tool 
    302                                 Name="VCPreBuildEventTool" 
    303                         /> 
    304                         <Tool 
    305                                 Name="VCCustomBuildTool" 
    306                         /> 
    307                         <Tool 
    308                                 Name="VCXMLDataGeneratorTool" 
    309                         /> 
    310                         <Tool 
    311                                 Name="VCWebServiceProxyGeneratorTool" 
    312                         /> 
    313                         <Tool 
    314                                 Name="VCMIDLTool" 
    315                         /> 
    316                         <Tool 
    317                                 Name="VCCLCompilerTool" 
    318                                 PrecompiledHeaderFile="" 
    319  
    320                                 PreprocessorDefinitions="_LIB;" 
    321  
     275                        > 
     276                        <Tool 
     277                                Name="VCPreBuildEventTool" 
     278                        /> 
     279                        <Tool 
     280                                Name="VCCustomBuildTool" 
     281                        /> 
     282                        <Tool 
     283                                Name="VCXMLDataGeneratorTool" 
     284                        /> 
     285                        <Tool 
     286                                Name="VCWebServiceProxyGeneratorTool" 
     287                        /> 
     288                        <Tool 
     289                                Name="VCMIDLTool" 
     290                        /> 
     291                        <Tool 
     292                                Name="VCCLCompilerTool" 
     293                                ExecutionBucket="7" 
    322294                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     295                                PreprocessorDefinitions="_LIB;" 
     296                                PrecompiledHeaderFile="" 
    323297                        /> 
    324298                        <Tool 
     
    334308                                Name="VCLibrarianTool" 
    335309                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).lib" 
    336  
    337  
    338310                        /> 
    339311                        <Tool 
     
    363335                <Configuration 
    364336                        Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" 
     337                        ConfigurationType="4" 
    365338                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" 
    366  
    367                         ATLMinimizesCRunTimeLibraryUsage="false" 
    368  
     339                        ATLMinimizesCRunTimeLibraryUsage="false" 
    369340                        CharacterSet="1" 
    370  
    371                         ConfigurationType="4" 
    372                         > 
    373                         <Tool 
    374                                 Name="VCPreBuildEventTool" 
    375                         /> 
    376                         <Tool 
    377                                 Name="VCCustomBuildTool" 
    378                         /> 
    379                         <Tool 
    380                                 Name="VCXMLDataGeneratorTool" 
    381                         /> 
    382                         <Tool 
    383                                 Name="VCWebServiceProxyGeneratorTool" 
    384                         /> 
    385                         <Tool 
    386                                 Name="VCMIDLTool" 
    387                         /> 
    388                         <Tool 
    389                                 Name="VCCLCompilerTool" 
    390                                 PrecompiledHeaderFile="" 
    391  
    392                                 PreprocessorDefinitions="_LIB;" 
    393  
     341                        > 
     342                        <Tool 
     343                                Name="VCPreBuildEventTool" 
     344                        /> 
     345                        <Tool 
     346                                Name="VCCustomBuildTool" 
     347                        /> 
     348                        <Tool 
     349                                Name="VCXMLDataGeneratorTool" 
     350                        /> 
     351                        <Tool 
     352                                Name="VCWebServiceProxyGeneratorTool" 
     353                        /> 
     354                        <Tool 
     355                                Name="VCMIDLTool" 
     356                        /> 
     357                        <Tool 
     358                                Name="VCCLCompilerTool" 
     359                                ExecutionBucket="7" 
    394360                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     361                                PreprocessorDefinitions="_LIB;" 
     362                                PrecompiledHeaderFile="" 
    395363                        /> 
    396364                        <Tool 
     
    406374                                Name="VCLibrarianTool" 
    407375                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).lib" 
    408  
    409  
    410376                        /> 
    411377                        <Tool 
     
    435401                <Configuration 
    436402                        Name="Debug-Static|Win32" 
     403                        ConfigurationType="4" 
    437404                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" 
    438  
    439                         ATLMinimizesCRunTimeLibraryUsage="false" 
    440  
     405                        UseOfMFC="0" 
     406                        ATLMinimizesCRunTimeLibraryUsage="false" 
    441407                        CharacterSet="2" 
    442  
    443                         ConfigurationType="4" 
    444                         UseOfMFC="0" 
    445                         > 
    446                         <Tool 
    447                                 Name="VCPreBuildEventTool" 
    448                         /> 
    449                         <Tool 
    450                                 Name="VCCustomBuildTool" 
    451                         /> 
    452                         <Tool 
    453                                 Name="VCXMLDataGeneratorTool" 
    454                         /> 
    455                         <Tool 
    456                                 Name="VCWebServiceProxyGeneratorTool" 
    457                         /> 
    458                         <Tool 
    459                                 Name="VCMIDLTool" 
    460                         /> 
    461                         <Tool 
    462                                 Name="VCCLCompilerTool" 
    463                                 PrecompiledHeaderFile="" 
    464  
    465                                 PreprocessorDefinitions="_LIB;" 
    466  
     408                        > 
     409                        <Tool 
     410                                Name="VCPreBuildEventTool" 
     411                        /> 
     412                        <Tool 
     413                                Name="VCCustomBuildTool" 
     414                        /> 
     415                        <Tool 
     416                                Name="VCXMLDataGeneratorTool" 
     417                        /> 
     418                        <Tool 
     419                                Name="VCWebServiceProxyGeneratorTool" 
     420                        /> 
     421                        <Tool 
     422                                Name="VCMIDLTool" 
     423                        /> 
     424                        <Tool 
     425                                Name="VCCLCompilerTool" 
    467426                                AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" 
     427                                PreprocessorDefinitions="_LIB;" 
     428                                PrecompiledHeaderFile="" 
    468429                        /> 
    469430                        <Tool 
     
    497458                <Configuration 
    498459                        Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" 
     460                        ConfigurationType="4" 
    499461                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" 
    500  
    501                         ATLMinimizesCRunTimeLibraryUsage="false" 
    502  
     462                        ATLMinimizesCRunTimeLibraryUsage="false" 
    503463                        CharacterSet="1" 
    504  
    505                         ConfigurationType="4" 
    506                         > 
    507                         <Tool 
    508                                 Name="VCPreBuildEventTool" 
    509                         /> 
    510                         <Tool 
    511                                 Name="VCCustomBuildTool" 
    512                         /> 
    513                         <Tool 
    514                                 Name="VCXMLDataGeneratorTool" 
    515                         /> 
    516                         <Tool 
    517                                 Name="VCWebServiceProxyGeneratorTool" 
    518                         /> 
    519                         <Tool 
    520                                 Name="VCMIDLTool" 
    521                         /> 
    522                         <Tool 
    523                                 Name="VCCLCompilerTool" 
    524                                 PrecompiledHeaderFile="" 
    525  
    526                                 PreprocessorDefinitions="_LIB;" 
    527  
     464                        > 
     465                        <Tool 
     466                                Name="VCPreBuildEventTool" 
     467                        /> 
     468                        <Tool 
     469                                Name="VCCustomBuildTool" 
     470                        /> 
     471                        <Tool 
     472                                Name="VCXMLDataGeneratorTool" 
     473                        /> 
     474                        <Tool 
     475                                Name="VCWebServiceProxyGeneratorTool" 
     476                        /> 
     477                        <Tool 
     478                                Name="VCMIDLTool" 
     479                        /> 
     480                        <Tool 
     481                                Name="VCCLCompilerTool" 
     482                                ExecutionBucket="7" 
    528483                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     484                                PreprocessorDefinitions="_LIB;" 
     485                                PrecompiledHeaderFile="" 
    529486                        /> 
    530487                        <Tool 
     
    540497                                Name="VCLibrarianTool" 
    541498                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).lib" 
    542  
    543  
    544499                        /> 
    545500                        <Tool 
     
    569524                <Configuration 
    570525                        Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" 
     526                        ConfigurationType="4" 
    571527                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" 
    572  
    573                         ATLMinimizesCRunTimeLibraryUsage="false" 
    574  
     528                        ATLMinimizesCRunTimeLibraryUsage="false" 
    575529                        CharacterSet="1" 
    576  
    577                         ConfigurationType="4" 
    578                         > 
    579                         <Tool 
    580                                 Name="VCPreBuildEventTool" 
    581                         /> 
    582                         <Tool 
    583                                 Name="VCCustomBuildTool" 
    584                         /> 
    585                         <Tool 
    586                                 Name="VCXMLDataGeneratorTool" 
    587                         /> 
    588                         <Tool 
    589                                 Name="VCWebServiceProxyGeneratorTool" 
    590                         /> 
    591                         <Tool 
    592                                 Name="VCMIDLTool" 
    593                         /> 
    594                         <Tool 
    595                                 Name="VCCLCompilerTool" 
    596                                 PrecompiledHeaderFile="" 
    597  
    598                                 PreprocessorDefinitions="_LIB;" 
    599  
     530                        > 
     531                        <Tool 
     532                                Name="VCPreBuildEventTool" 
     533                        /> 
     534                        <Tool 
     535                                Name="VCCustomBuildTool" 
     536                        /> 
     537                        <Tool 
     538                                Name="VCXMLDataGeneratorTool" 
     539                        /> 
     540                        <Tool 
     541                                Name="VCWebServiceProxyGeneratorTool" 
     542                        /> 
     543                        <Tool 
     544                                Name="VCMIDLTool" 
     545                        /> 
     546                        <Tool 
     547                                Name="VCCLCompilerTool" 
     548                                ExecutionBucket="7" 
    600549                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     550                                PreprocessorDefinitions="_LIB;" 
     551                                PrecompiledHeaderFile="" 
    601552                        /> 
    602553                        <Tool 
     
    612563                                Name="VCLibrarianTool" 
    613564                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).lib" 
    614  
    615  
    616565                        /> 
    617566                        <Tool 
     
    641590                <Configuration 
    642591                        Name="Release-Dynamic|Win32" 
     592                        ConfigurationType="4" 
    643593                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" 
    644  
    645                         ATLMinimizesCRunTimeLibraryUsage="false" 
    646  
     594                        UseOfMFC="0" 
     595                        ATLMinimizesCRunTimeLibraryUsage="false" 
    647596                        CharacterSet="2" 
    648  
    649                         ConfigurationType="4" 
    650                         UseOfMFC="0" 
    651                         > 
    652                         <Tool 
    653                                 Name="VCPreBuildEventTool" 
    654                         /> 
    655                         <Tool 
    656                                 Name="VCCustomBuildTool" 
    657                         /> 
    658                         <Tool 
    659                                 Name="VCXMLDataGeneratorTool" 
    660                         /> 
    661                         <Tool 
    662                                 Name="VCWebServiceProxyGeneratorTool" 
    663                         /> 
    664                         <Tool 
    665                                 Name="VCMIDLTool" 
    666                         /> 
    667                         <Tool 
    668                                 Name="VCCLCompilerTool" 
    669                                 PrecompiledHeaderFile="" 
    670  
    671                                 PreprocessorDefinitions="_LIB;" 
    672  
     597                        > 
     598                        <Tool 
     599                                Name="VCPreBuildEventTool" 
     600                        /> 
     601                        <Tool 
     602                                Name="VCCustomBuildTool" 
     603                        /> 
     604                        <Tool 
     605                                Name="VCXMLDataGeneratorTool" 
     606                        /> 
     607                        <Tool 
     608                                Name="VCWebServiceProxyGeneratorTool" 
     609                        /> 
     610                        <Tool 
     611                                Name="VCMIDLTool" 
     612                        /> 
     613                        <Tool 
     614                                Name="VCCLCompilerTool" 
    673615                                AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" 
     616                                PreprocessorDefinitions="_LIB;" 
     617                                PrecompiledHeaderFile="" 
    674618                        /> 
    675619                        <Tool 
     
    703647                <Configuration 
    704648                        Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" 
     649                        ConfigurationType="4" 
    705650                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" 
    706  
    707                         ATLMinimizesCRunTimeLibraryUsage="false" 
    708  
     651                        ATLMinimizesCRunTimeLibraryUsage="false" 
    709652                        CharacterSet="1" 
    710  
    711                         ConfigurationType="4" 
    712                         > 
    713                         <Tool 
    714                                 Name="VCPreBuildEventTool" 
    715                         /> 
    716                         <Tool 
    717                                 Name="VCCustomBuildTool" 
    718                         /> 
    719                         <Tool 
    720                                 Name="VCXMLDataGeneratorTool" 
    721                         /> 
    722                         <Tool 
    723                                 Name="VCWebServiceProxyGeneratorTool" 
    724                         /> 
    725                         <Tool 
    726                                 Name="VCMIDLTool" 
    727                         /> 
    728                         <Tool 
    729                                 Name="VCCLCompilerTool" 
    730                                 PrecompiledHeaderFile="" 
    731  
    732                                 PreprocessorDefinitions="_LIB;" 
    733  
     653                        > 
     654                        <Tool 
     655                                Name="VCPreBuildEventTool" 
     656                        /> 
     657                        <Tool 
     658                                Name="VCCustomBuildTool" 
     659                        /> 
     660                        <Tool 
     661                                Name="VCXMLDataGeneratorTool" 
     662                        /> 
     663                        <Tool 
     664                                Name="VCWebServiceProxyGeneratorTool" 
     665                        /> 
     666                        <Tool 
     667                                Name="VCMIDLTool" 
     668                        /> 
     669                        <Tool 
     670                                Name="VCCLCompilerTool" 
     671                                ExecutionBucket="7" 
    734672                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     673                                PreprocessorDefinitions="_LIB;" 
     674                                PrecompiledHeaderFile="" 
    735675                        /> 
    736676                        <Tool 
     
    746686                                Name="VCLibrarianTool" 
    747687                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).lib" 
    748  
    749  
    750688                        /> 
    751689                        <Tool 
     
    775713                <Configuration 
    776714                        Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" 
     715                        ConfigurationType="4" 
    777716                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" 
    778  
    779                         ATLMinimizesCRunTimeLibraryUsage="false" 
    780  
     717                        ATLMinimizesCRunTimeLibraryUsage="false" 
    781718                        CharacterSet="1" 
    782  
    783                         ConfigurationType="4" 
    784                         > 
    785                         <Tool 
    786                                 Name="VCPreBuildEventTool" 
    787                         /> 
    788                         <Tool 
    789                                 Name="VCCustomBuildTool" 
    790                         /> 
    791                         <Tool 
    792                                 Name="VCXMLDataGeneratorTool" 
    793                         /> 
    794                         <Tool 
    795                                 Name="VCWebServiceProxyGeneratorTool" 
    796                         /> 
    797                         <Tool 
    798                                 Name="VCMIDLTool" 
    799                         /> 
    800                         <Tool 
    801                                 Name="VCCLCompilerTool" 
    802                                 PrecompiledHeaderFile="" 
    803  
    804                                 PreprocessorDefinitions="_LIB;" 
    805  
     719                        > 
     720                        <Tool 
     721                                Name="VCPreBuildEventTool" 
     722                        /> 
     723                        <Tool 
     724                                Name="VCCustomBuildTool" 
     725                        /> 
     726                        <Tool 
     727                                Name="VCXMLDataGeneratorTool" 
     728                        /> 
     729                        <Tool 
     730                                Name="VCWebServiceProxyGeneratorTool" 
     731                        /> 
     732                        <Tool 
     733                                Name="VCMIDLTool" 
     734                        /> 
     735                        <Tool 
     736                                Name="VCCLCompilerTool" 
     737                                ExecutionBucket="7" 
    806738                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     739                                PreprocessorDefinitions="_LIB;" 
     740                                PrecompiledHeaderFile="" 
    807741                        /> 
    808742                        <Tool 
     
    818752                                Name="VCLibrarianTool" 
    819753                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).lib" 
    820  
    821  
    822754                        /> 
    823755                        <Tool 
     
    847779                <Configuration 
    848780                        Name="Debug-Dynamic|Win32" 
     781                        ConfigurationType="4" 
    849782                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" 
    850  
    851                         ATLMinimizesCRunTimeLibraryUsage="false" 
    852  
     783                        UseOfMFC="0" 
     784                        ATLMinimizesCRunTimeLibraryUsage="false" 
    853785                        CharacterSet="2" 
    854  
    855                         ConfigurationType="4" 
    856                         UseOfMFC="0" 
    857                         > 
    858                         <Tool 
    859                                 Name="VCPreBuildEventTool" 
    860                         /> 
    861                         <Tool 
    862                                 Name="VCCustomBuildTool" 
    863                         /> 
    864                         <Tool 
    865                                 Name="VCXMLDataGeneratorTool" 
    866                         /> 
    867                         <Tool 
    868                                 Name="VCWebServiceProxyGeneratorTool" 
    869                         /> 
    870                         <Tool 
    871                                 Name="VCMIDLTool" 
    872                         /> 
    873                         <Tool 
    874                                 Name="VCCLCompilerTool" 
    875                                 PrecompiledHeaderFile="" 
    876  
    877                                 PreprocessorDefinitions="_LIB;" 
    878  
     786                        > 
     787                        <Tool 
     788                                Name="VCPreBuildEventTool" 
     789                        /> 
     790                        <Tool 
     791                                Name="VCCustomBuildTool" 
     792                        /> 
     793                        <Tool 
     794                                Name="VCXMLDataGeneratorTool" 
     795                        /> 
     796                        <Tool 
     797                                Name="VCWebServiceProxyGeneratorTool" 
     798                        /> 
     799                        <Tool 
     800                                Name="VCMIDLTool" 
     801                        /> 
     802                        <Tool 
     803                                Name="VCCLCompilerTool" 
    879804                                AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" 
     805                                PreprocessorDefinitions="_LIB;" 
     806                                PrecompiledHeaderFile="" 
    880807                        /> 
    881808                        <Tool 
     
    909836                <Configuration 
    910837                        Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" 
     838                        ConfigurationType="4" 
    911839                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" 
    912  
    913                         ATLMinimizesCRunTimeLibraryUsage="false" 
    914  
     840                        ATLMinimizesCRunTimeLibraryUsage="false" 
    915841                        CharacterSet="1" 
    916  
    917                         ConfigurationType="4" 
    918                         > 
    919                         <Tool 
    920                                 Name="VCPreBuildEventTool" 
    921                         /> 
    922                         <Tool 
    923                                 Name="VCCustomBuildTool" 
    924                         /> 
    925                         <Tool 
    926                                 Name="VCXMLDataGeneratorTool" 
    927                         /> 
    928                         <Tool 
    929                                 Name="VCWebServiceProxyGeneratorTool" 
    930                         /> 
    931                         <Tool 
    932                                 Name="VCMIDLTool" 
    933                         /> 
    934                         <Tool 
    935                                 Name="VCCLCompilerTool" 
    936                                 PrecompiledHeaderFile="" 
    937  
    938                                 PreprocessorDefinitions="_LIB;" 
    939  
     842                        > 
     843                        <Tool 
     844                                Name="VCPreBuildEventTool" 
     845                        /> 
     846                        <Tool 
     847                                Name="VCCustomBuildTool" 
     848                        /> 
     849                        <Tool 
     850                                Name="VCXMLDataGeneratorTool" 
     851                        /> 
     852                        <Tool 
     853                                Name="VCWebServiceProxyGeneratorTool" 
     854                        /> 
     855                        <Tool 
     856                                Name="VCMIDLTool" 
     857                        /> 
     858                        <Tool 
     859                                Name="VCCLCompilerTool" 
     860                                ExecutionBucket="7" 
    940861                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     862                                PreprocessorDefinitions="_LIB;" 
     863                                PrecompiledHeaderFile="" 
    941864                        /> 
    942865                        <Tool 
     
    952875                                Name="VCLibrarianTool" 
    953876                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).lib" 
    954  
    955  
    956877                        /> 
    957878                        <Tool 
     
    981902                <Configuration 
    982903                        Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" 
     904                        ConfigurationType="4" 
    983905                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" 
    984  
    985                         ATLMinimizesCRunTimeLibraryUsage="false" 
    986  
     906                        ATLMinimizesCRunTimeLibraryUsage="false" 
    987907                        CharacterSet="1" 
    988  
    989                         ConfigurationType="4" 
    990                         > 
    991                         <Tool 
    992                                 Name="VCPreBuildEventTool" 
    993                         /> 
    994                         <Tool 
    995                                 Name="VCCustomBuildTool" 
    996                         /> 
    997                         <Tool 
    998                                 Name="VCXMLDataGeneratorTool" 
    999                         /> 
    1000                         <Tool 
    1001                                 Name="VCWebServiceProxyGeneratorTool" 
    1002                         /> 
    1003                         <Tool 
    1004                                 Name="VCMIDLTool" 
    1005                         /> 
    1006                         <Tool 
    1007                                 Name="VCCLCompilerTool" 
    1008                                 PrecompiledHeaderFile="" 
    1009  
    1010                                 PreprocessorDefinitions="_LIB;" 
    1011  
     908                        > 
     909                        <Tool 
     910                                Name="VCPreBuildEventTool" 
     911                        /> 
     912                        <Tool 
     913                                Name="VCCustomBuildTool" 
     914                        /> 
     915                        <Tool 
     916                                Name="VCXMLDataGeneratorTool" 
     917                        /> 
     918                        <Tool 
     919                                Name="VCWebServiceProxyGeneratorTool" 
     920                        /> 
     921                        <Tool 
     922                                Name="VCMIDLTool" 
     923                        /> 
     924                        <Tool 
     925                                Name="VCCLCompilerTool" 
     926                                ExecutionBucket="7" 
    1012927                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     928                                PreprocessorDefinitions="_LIB;" 
     929                                PrecompiledHeaderFile="" 
    1013930                        /> 
    1014931                        <Tool 
     
    1024941                                Name="VCLibrarianTool" 
    1025942                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).lib" 
    1026  
    1027  
    1028943                        /> 
    1029944                        <Tool 
     
    1053968                <Configuration 
    1054969                        Name="Release-Static|Win32" 
     970                        ConfigurationType="4" 
    1055971                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" 
    1056  
    1057                         ATLMinimizesCRunTimeLibraryUsage="false" 
    1058  
     972                        UseOfMFC="0" 
     973                        ATLMinimizesCRunTimeLibraryUsage="false" 
    1059974                        CharacterSet="2" 
    1060  
    1061                         ConfigurationType="4" 
    1062                         UseOfMFC="0" 
    1063                         > 
    1064                         <Tool 
    1065                                 Name="VCPreBuildEventTool" 
    1066                         /> 
    1067                         <Tool 
    1068                                 Name="VCCustomBuildTool" 
    1069                         /> 
    1070                         <Tool 
    1071                                 Name="VCXMLDataGeneratorTool" 
    1072                         /> 
    1073                         <Tool 
    1074                                 Name="VCWebServiceProxyGeneratorTool" 
    1075                         /> 
    1076                         <Tool 
    1077                                 Name="VCMIDLTool" 
    1078                         /> 
    1079                         <Tool 
    1080                                 Name="VCCLCompilerTool" 
    1081                                 PrecompiledHeaderFile="" 
    1082  
    1083                                 PreprocessorDefinitions="_LIB;" 
    1084  
     975                        > 
     976                        <Tool 
     977                                Name="VCPreBuildEventTool" 
     978                        /> 
     979                        <Tool 
     980                                Name="VCCustomBuildTool" 
     981                        /> 
     982                        <Tool 
     983                                Name="VCXMLDataGeneratorTool" 
     984                        /> 
     985                        <Tool 
     986                                Name="VCWebServiceProxyGeneratorTool" 
     987                        /> 
     988                        <Tool 
     989                                Name="VCMIDLTool" 
     990                        /> 
     991                        <Tool 
     992                                Name="VCCLCompilerTool" 
    1085993                                AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" 
     994                                PreprocessorDefinitions="_LIB;" 
     995                                PrecompiledHeaderFile="" 
    1086996                        /> 
    1087997                        <Tool 
     
    11151025                <Configuration 
    11161026                        Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" 
     1027                        ConfigurationType="4" 
    11171028                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" 
    1118  
    1119                         ATLMinimizesCRunTimeLibraryUsage="false" 
    1120  
     1029                        ATLMinimizesCRunTimeLibraryUsage="false" 
    11211030                        CharacterSet="1" 
    1122  
    1123                         ConfigurationType="4" 
    1124                         > 
    1125                         <Tool 
    1126                                 Name="VCPreBuildEventTool" 
    1127                         /> 
    1128                         <Tool 
    1129                                 Name="VCCustomBuildTool" 
    1130                         /> 
    1131                         <Tool 
    1132                                 Name="VCXMLDataGeneratorTool" 
    1133                         /> 
    1134                         <Tool 
    1135                                 Name="VCWebServiceProxyGeneratorTool" 
    1136                         /> 
    1137                         <Tool 
    1138                                 Name="VCMIDLTool" 
    1139                         /> 
    1140                         <Tool 
    1141                                 Name="VCCLCompilerTool" 
    1142                                 PrecompiledHeaderFile="" 
    1143  
    1144                                 PreprocessorDefinitions="_LIB;" 
    1145  
     1031                        > 
     1032                        <Tool 
     1033                                Name="VCPreBuildEventTool" 
     1034                        /> 
     1035                        <Tool 
     1036                                Name="VCCustomBuildTool" 
     1037                        /> 
     1038                        <Tool 
     1039                                Name="VCXMLDataGeneratorTool" 
     1040                        /> 
     1041                        <Tool 
     1042                                Name="VCWebServiceProxyGeneratorTool" 
     1043                        /> 
     1044                        <Tool 
     1045                                Name="VCMIDLTool" 
     1046                        /> 
     1047                        <Tool 
     1048                                Name="VCCLCompilerTool" 
     1049                                ExecutionBucket="7" 
    11461050                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     1051                                PreprocessorDefinitions="_LIB;" 
     1052                                PrecompiledHeaderFile="" 
    11471053                        /> 
    11481054                        <Tool 
     
    11581064                                Name="VCLibrarianTool" 
    11591065                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).lib" 
    1160  
    1161  
    11621066                        /> 
    11631067                        <Tool 
     
    11871091                <Configuration 
    11881092                        Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" 
     1093                        ConfigurationType="4" 
    11891094                        InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" 
    1190  
    1191                         ATLMinimizesCRunTimeLibraryUsage="false" 
    1192  
     1095                        ATLMinimizesCRunTimeLibraryUsage="false" 
    11931096                        CharacterSet="1" 
    1194  
    1195                         ConfigurationType="4" 
    1196                         > 
    1197                         <Tool 
    1198                                 Name="VCPreBuildEventTool" 
    1199                         /> 
    1200                         <Tool 
    1201                                 Name="VCCustomBuildTool" 
    1202                         /> 
    1203                         <Tool 
    1204                                 Name="VCXMLDataGeneratorTool" 
    1205                         /> 
    1206                         <Tool 
    1207                                 Name="VCWebServiceProxyGeneratorTool" 
    1208                         /> 
    1209                         <Tool 
    1210                                 Name="VCMIDLTool" 
    1211                         /> 
    1212                         <Tool 
    1213                                 Name="VCCLCompilerTool" 
    1214                                 PrecompiledHeaderFile="" 
    1215  
    1216                                 PreprocessorDefinitions="_LIB;" 
    1217  
     1097                        > 
     1098                        <Tool 
     1099                                Name="VCPreBuildEventTool" 
     1100                        /> 
     1101                        <Tool 
     1102                                Name="VCCustomBuildTool" 
     1103                        /> 
     1104                        <Tool 
     1105                                Name="VCXMLDataGeneratorTool" 
     1106                        /> 
     1107                        <Tool 
     1108                                Name="VCWebServiceProxyGeneratorTool" 
     1109                        /> 
     1110                        <Tool 
     1111                                Name="VCMIDLTool" 
     1112                        /> 
     1113                        <Tool 
     1114                                Name="VCCLCompilerTool" 
     1115                                ExecutionBucket="7" 
    12181116                                AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" 
     1117                                PreprocessorDefinitions="_LIB;" 
     1118                                PrecompiledHeaderFile="" 
    12191119                        /> 
    12201120                        <Tool 
     
    12301130                                Name="VCLibrarianTool" 
    12311131                                OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).lib" 
    1232  
    1233  
    12341132                        /> 
    12351133                        <Tool 
     
    17031601                        </File> 
    17041602                </Filter> 
     1603                <Filter 
     1604                        Name="Doxygen Files" 
     1605                        > 
     1606                        <File 
     1607                                RelativePath="..\docs\doc_ice.h" 
     1608                                > 
     1609                        </File> 
     1610                        <File 
     1611                                RelativePath="..\docs\doc_mainpage.h" 
     1612                                > 
     1613                        </File> 
     1614                        <File 
     1615                                RelativePath="..\docs\doc_nat.h" 
     1616                                > 
     1617                        </File> 
     1618                        <File 
     1619                                RelativePath="..\docs\doc_samples.h" 
     1620                                > 
     1621                        </File> 
     1622                        <File 
     1623                                RelativePath="..\docs\doc_stun.h" 
     1624                                > 
     1625                        </File> 
     1626                        <File 
     1627                                RelativePath="..\docs\doc_turn.h" 
     1628                                > 
     1629                        </File> 
     1630                </Filter> 
    17051631        </Files> 
    17061632        <Globals> 
  • pjproject/trunk/pjnath/docs/doxygen.cfg

    r2037 r2642  
    347347# with spaces. 
    348348 
    349 INPUT                  =  include/pjnath 
     349INPUT                  =  docs include/pjnath 
    350350 
    351351# If the value of the INPUT tag contains directories, you can use the  
     
    385385# the \include command). 
    386386 
    387 EXAMPLE_PATH           = . 
     387EXAMPLE_PATH           = ../pjsip-apps/src/samples src/pjturn-client 
    388388 
    389389# If the value of the EXAMPLE_PATH tag contains directories, you can use the  
     
    977977DOTFILE_DIRS           =  
    978978 
    979 # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width  
    980 # (in pixels) of the graphs generated by dot. If a graph becomes larger than  
    981 # this value, doxygen will try to truncate the graph, so that it fits within  
    982 # the specified constraint. Beware that most browsers cannot cope with very  
    983 # large images. 
    984  
    985 MAX_DOT_GRAPH_WIDTH    = 1024 
    986  
    987 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height  
    988 # (in pixels) of the graphs generated by dot. If a graph becomes larger than  
    989 # this value, doxygen will try to truncate the graph, so that it fits within  
    990 # the specified constraint. Beware that most browsers cannot cope with very  
    991 # large images. 
    992  
    993 MAX_DOT_GRAPH_HEIGHT   = 1024 
    994  
    995979# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will  
    996980# generate a legend page explaining the meaning of the various boxes and  
  • pjproject/trunk/pjnath/docs/footer.html

    r2394 r2642  
     1        </TD></TD></TABLE> 
    12<p>&nbsp;</p> 
    23<hr><center> 
  • pjproject/trunk/pjnath/docs/header.html

    r1110 r2642  
    55</head><body> 
    66        <!--#include virtual="/header.html" --> 
     7        <TABLE border=0 width="90%"><TR><TD> 
    78        <p><A HREF="/">Home</A> --&gt; <A HREF="/docs.htm">Documentations</A> --&gt; <A HREF="/pjnath/docs/html/index.htm">PJNATH Reference</A></p> 
    89 
  • pjproject/trunk/pjnath/include/pjnath/config.h

    r2394 r2642  
    3030 
    3131/** 
    32  * @defgroup PJNATH_CONFIG Configuration 
     32 * @defgroup PJNATH_CONFIG Compile-time configurations 
    3333 * @brief Various compile time settings 
     34 * @ingroup PJNATH_STUN_BASE 
    3435 * @{ 
    3536 */ 
  • pjproject/trunk/pjnath/include/pjnath/errno.h

    r2580 r2642  
    3131 * @defgroup PJNATH_ERROR NAT Helper Library Error Codes 
    3232 * @brief PJNATH specific error code constants 
     33 * @ingroup PJNATH_STUN_BASE 
    3334 * @{ 
    3435 */ 
  • pjproject/trunk/pjnath/include/pjnath/ice_session.h

    r2394 r2642  
    3131#include <pj/timer.h> 
    3232 
    33 /** 
    34  * @defgroup PJNATH_ICE Interactive Connectivity Establishment (ICE) 
    35  * @brief Interactive Connectivity Establishment (ICE) 
    36  */ 
    37  
    38  
    3933PJ_BEGIN_DECL 
    4034 
    4135 
    4236/** 
    43  * @defgroup PJNATH_ICE_SESSION ICE Session 
    44  * @brief Transport Independent ICE Session 
    45  * @ingroup PJNATH_ICE 
     37 * @addtogroup PJNATH_ICE_SESSION 
    4638 * @{ 
    4739 * 
     
    205197typedef struct pj_ice_msg_data 
    206198{ 
     199    /** Transport ID for this message */ 
    207200    unsigned    transport_id; 
     201 
     202    /** Flag to indicate whether data.req contains data */ 
    208203    pj_bool_t   has_req_data; 
    209204 
     205    /** The data */ 
    210206    union data { 
     207        /** Request data */ 
    211208        struct request_data { 
    212             pj_ice_sess             *ice; 
    213             pj_ice_sess_checklist   *clist; 
    214             unsigned                 ckid; 
     209            pj_ice_sess             *ice;   /**< ICE session    */ 
     210            pj_ice_sess_checklist   *clist; /**< Checklist      */ 
     211            unsigned                 ckid;  /**< Check ID       */ 
    215212        } req; 
    216213    } data; 
     214 
    217215} pj_ice_msg_data; 
    218216 
     
    540538typedef struct pj_ice_rx_check 
    541539{ 
    542     PJ_DECL_LIST_MEMBER(struct pj_ice_rx_check); 
     540    PJ_DECL_LIST_MEMBER(struct pj_ice_rx_check); /**< Standard list     */ 
    543541 
    544542    unsigned             comp_id;       /**< Component ID.              */ 
     
    601599    pj_ice_sess_cand     rcand[PJ_ICE_MAX_CAND];    /**< Array of cand.     */ 
    602600 
    603     /* Array of transport datas */ 
     601    /** Array of transport datas */ 
    604602    pj_ice_msg_data      tp_data[4]; 
    605603 
     
    613611    pj_ice_sess_checklist valid_list;               /**< Valid list.        */ 
    614612     
    615     /* Temporary buffer for misc stuffs to avoid using stack too much */ 
     613    /** Temporary buffer for misc stuffs to avoid using stack too much */ 
    616614    union { 
    617615        char txt[128]; 
  • pjproject/trunk/pjnath/include/pjnath/ice_strans.h

    r2394 r2642  
    3838 
    3939/** 
    40  * @defgroup PJNATH_ICE_STREAM_TRANSPORT ICE Stream Transport 
    41  * @brief Transport for media streams using ICE 
    42  * @ingroup PJNATH_ICE 
     40 * @addtogroup PJNATH_ICE_STREAM_TRANSPORT 
    4341 * @{ 
    4442 * 
     
    5452 * various candidates of the transport addresses. 
    5553 * 
     54 * 
     55 * \section ice_strans_using_sec Using the ICE stream transport 
     56 * 
     57 * The steps below describe how to use ICE session: 
     58 * 
     59 *  - initialize a #pj_ice_strans_cfg structure. This contains various  
     60 *    settings for the ICE stream transport, and among other things contains 
     61 *    the STUN and TURN settings.\n\n 
     62 *  - create the instance with #pj_ice_strans_create(). Among other things, 
     63 *    the function needs the following arguments: 
     64 *      - the #pj_ice_strans_cfg structure for the main configurations 
     65 *      - number of components to be supported 
     66 *      - instance of #pj_ice_strans_cb structure to report callbacks to 
     67 *        application.\n\n 
     68 *  - while the #pj_ice_strans_create() call completes immediately, the 
     69 *    initialization will be running in the background to gather the  
     70 *    candidates (for example STUN and TURN candidates, if they are enabled 
     71 *    in the #pj_ice_strans_cfg setting). Application will be notified when 
     72 *    the initialization completes in the \a on_ice_complete callback of 
     73 *    the #pj_ice_strans_cb structure (the \a op argument of this callback 
     74 *    will be PJ_ICE_STRANS_OP_INIT).\n\n 
     75 *  - when media stream is to be started (for example, a call is to be  
     76 *    started), create an ICE session by calling #pj_ice_strans_init_ice().\n\n 
     77 *  - the application now typically will need to communicate local ICE 
     78 *    information to remote host. It can achieve this by using the following 
     79 *    functions to query local ICE information: 
     80 *      - #pj_ice_strans_get_ufrag_pwd() 
     81 *      - #pj_ice_strans_enum_cands() 
     82 *      - #pj_ice_strans_get_def_cand()\n 
     83 *    The application may need to encode the above information as SDP.\n\n 
     84 *  - when the application receives remote ICE information (for example, from 
     85 *    the SDP received from remote), it can now start ICE negotiation, by 
     86 *    calling #pj_ice_strans_start_ice(). This function requires some 
     87 *    information about remote ICE agent such as remote ICE username fragment 
     88 *    and password as well as array of remote candidates.\n\n 
     89 *  - note that the PJNATH library does not work with SDP; application would 
     90 *    need to encode and parse the SDP itself.\n\n 
     91 *  - once ICE negotiation has been started, application will be notified 
     92 *    about the completion in the \a on_ice_complete() callback of the 
     93 *    #pj_ice_strans_cb.\n\n 
     94 *  - at any time, application may send or receive data. However the ICE 
     95 *    stream transport may not be able to send it depending on its current 
     96 *    state. Before ICE negotiation is started, the data will be sent using 
     97 *    default candidate of the component. After negotiation is completed, 
     98 *    data will be sent using the candidate from the successful/nominated 
     99 *    pair. The ICE stream transport may not be able to send data while  
     100 *    negotiation is in progress.\n\n 
     101 *  - application sends data by using #pj_ice_strans_sendto(). Incoming 
     102 *    data will be reported in \a on_rx_data() callback of the 
     103 *    #pj_ice_strans_cb.\n\n 
     104 *  - once the media session has finished (e.g. user hangs up the call), 
     105 *    destroy the ICE session with #pj_ice_strans_stop_ice().\n\n 
     106 *  - at this point, application may destroy the ICE stream transport itself, 
     107 *    or let it run so that it can be reused to create other ICE session. 
     108 *    The benefit of letting the ICE stream transport alive (without any 
     109 *    session active) is to avoid delay with the initialization, howerver 
     110 *    keeping the transport alive means the transport needs to keep the 
     111 *    STUN binding open by using keep-alive and also TURN allocation alive, 
     112 *    and this will consume power which is an important issue for mobile 
     113 *    applications.\n\n 
    56114 */ 
    57115 
  • pjproject/trunk/pjnath/include/pjnath/nat_detect.h

    r2394 r2642  
    3434 * @defgroup PJNATH_NAT_DETECT NAT Classification/Detection Tool 
    3535 * @brief NAT Classification/Detection Tool 
     36 * @ingroup PJNATH 
    3637 * @{ 
    3738 * 
  • pjproject/trunk/pjnath/include/pjnath/stun_auth.h

    r2394 r2642  
    3636 * @defgroup PJNATH_STUN_AUTH STUN Authentication 
    3737 * @brief STUN authentication helper 
    38  * @ingroup PJNATH_STUN 
     38 * @ingroup PJNATH_STUN_BASE 
    3939 * @{ 
    4040 */ 
  • pjproject/trunk/pjnath/include/pjnath/stun_config.h

    r2394 r2642  
    3939 * @defgroup PJNATH_STUN_CONFIG STUN Config 
    4040 * @brief STUN config 
    41  * @ingroup PJNATH_STUN 
     41 * @ingroup PJNATH_STUN_BASE 
    4242 * @{ 
    4343 */ 
  • pjproject/trunk/pjnath/include/pjnath/stun_msg.h

    r2591 r2642  
    3636/** 
    3737 * @defgroup PJNATH_STUN_MSG STUN Message Representation and Parsing 
    38  * @ingroup PJNATH_STUN 
     38 * @ingroup PJNATH_STUN_BASE 
    3939 * @brief Low-level representation and parsing of STUN messages. 
    4040 * @{ 
  • pjproject/trunk/pjnath/include/pjnath/stun_session.h

    r2589 r2642  
    3838/* **************************************************************************/ 
    3939/** 
    40  * @defgroup PJNATH_STUN_SESSION STUN Client/Server Session 
    41  * @brief STUN client and server session 
    42  * @ingroup PJNATH_STUN 
     40 * @addtogroup PJNATH_STUN_SESSION 
    4341 * @{ 
     42 * 
     43 * This is is a transport-independent object to manage a client or server  
     44 * STUN session. It has the following features: 
     45 *  
     46 *  - <b>transport independent</b>:\n 
     47 *    the object does not have it's own socket, but rather it provides 
     48 *    functions and callbacks to send and receive packets. This way the 
     49 *    object can be used by different transport types (e.g. UDP, TCP,  
     50 *    TLS, etc.) as well as better integration to application which 
     51 *    already has its own means to send and receive packets. 
     52 *  
     53 *  - <b>authentication management</b>:\n 
     54 *    the object manages STUN authentication throughout the lifetime of 
     55 *    the session. For client sessions, once it's given a credential to 
     56 *    authenticate itself with the server, the object will automatically 
     57 *    add authentication info (the MESSAGE-INTEGRITY) to the request as 
     58 *    well as authenticate the response. It will also handle long-term  
     59 *    authentication challenges, including handling of nonce expiration, 
     60 *    and retry the request automatically. For server sessions, it can  
     61 *    be configured to authenticate incoming requests automatically. 
     62 *   
     63 *  - <b>static or dynamic credential</b>:\n 
     64 *    application may specify static or dynamic credential to be used by 
     65 *    the STUN session. Static credential means a static combination of 
     66 *    username and password (and these cannot change during the session 
     67 *    duration), while dynamic credential provides callback to ask the 
     68 *    application about which username/password to use everytime 
     69 *    authentication is about to be performed. 
     70 *     
     71 *  - <b>client transaction management</b>:\n 
     72 *    outgoing requests may be sent with a STUN transaction for reliability, 
     73 *    and the object will manage the transaction internally (including 
     74 *    performing retransmissions). Application will be notified about the 
     75 *    result of the request when the response arrives (or the transaction 
     76 *    times out). When the request is challenged with authentication, the 
     77 *    object will retry the request with new authentication info, and  
     78 *    application will be notified about the final result of this request. 
     79 *  
     80 *  - <b>server transaction management</b>:\n 
     81 *    application may ask response to incoming requests to be cached by 
     82 *    the object, and in this case the object will check for cached 
     83 *    response everytime request is received. The cached response will be 
     84 *    deleted once a timer expires. 
     85 * 
     86 * \section using_stun_sess_sec Using the STUN session 
     87 * 
     88 * The following steps describes how to use the STUN session: 
     89 * 
     90 *  - <b>create the object configuration</b>:\n 
     91 *    The #pj_stun_config contains the configuration to create the STUN 
     92 *    session, such as the timer heap to register internal timers and 
     93 *    various STUN timeout values. You can initialize this structure by 
     94 *    calling #pj_stun_config_init() 
     95 * 
     96 *  - <b>create the STUN session</b>:\n 
     97 *    by calling #pj_stun_session_create(). Among other things, this 
     98 *    function requires the instance of #pj_stun_config and also  
     99 *    #pj_stun_session_cb structure which stores callbacks to send 
     100 *    outgoing packets as well as to notify application about incoming 
     101 *    STUN requests, responses, and indicates and other events. 
     102 * 
     103 *  - <b>configure credential:</b>\n 
     104 *    if authentication is required for the session, configure the 
     105 *    credential with #pj_stun_session_set_credential() 
     106 * 
     107 *  - <b>configuring other settings:</b>\n 
     108 *    several APIs are provided to configure the behavior of the STUN 
     109 *    session (for example, to set the SOFTWARE attribute value, controls 
     110 *    the logging behavior, fine tune the mutex locking, etc.). Please see 
     111 *    the API reference for more info. 
     112 * 
     113 *  - <b>creating outgoing STUN requests or indications:</b>\n 
     114 *    create the STUN message by using #pj_stun_session_create_req() or 
     115 *    #pj_stun_session_create_ind(). This will create a transmit data 
     116 *    buffer containing a blank STUN request or indication. You will then 
     117 *    typically need to add STUN attributes that are relevant to the 
     118 *    request or indication, but note that some default attributes will 
     119 *    be added by the session later when the message is sent (such as 
     120 *    SOFTWARE attribute and attributes related to authentication). 
     121 *    The message is now ready to be sent. 
     122 * 
     123 *  - <b>sending outgoing message:</b>\n 
     124 *    use #pj_stun_session_send_msg() to send outgoing STUN messages (this 
     125 *    includes STUN requests, indications, and responses). The function has 
     126 *    options whether to retransmit the request (for non reliable transports) 
     127 *    or to cache the response if we're sending response. This function in  
     128 *    turn will call the \a on_send_msg() callback of #pj_stun_session_cb  
     129 *    to request the application to send the packet. 
     130 * 
     131 *  - <b>handling incoming packet:</b>\n 
     132 *    call #pj_stun_session_on_rx_pkt() everytime the application receives 
     133 *    a STUN packet. This function will decode the packet and process the 
     134 *    packet according to the message, and normally this will cause one 
     135 *    of the callback in the #pj_stun_session_cb to be called to notify 
     136 *    the application about the event. 
     137 * 
     138 *  - <b>handling incoming requests:</b>\n 
     139 *    incoming requests are notified to application in the \a on_rx_request 
     140 *    callback of the #pj_stun_session_cb. If authentication is enabled in 
     141 *    the session, the application will only receive this callback after 
     142 *    the incoming request has been authenticated (if the authentication 
     143 *    fails, the session would respond automatically with 401 error and 
     144 *    the callback will not be called). Application now must create and 
     145 *    send response for this request. 
     146 * 
     147 *  - <b>creating and sending response:</b>\n 
     148 *    create the STUN response with #pj_stun_session_create_res(). This will 
     149 *    create a transmit data buffer containing a blank STUN response. You  
     150 *    will then typically need to add STUN attributes that are relevant to 
     151 *    the response, but note that some default attributes will 
     152 *    be added by the session later when the message is sent (such as 
     153 *    SOFTWARE attribute and attributes related to authentication). 
     154 *    The message is now ready to be sent. Use #pj_stun_session_send_msg() 
     155 *    (as explained above) to send the response. 
     156 * 
     157 *  - <b>convenient way to send response:</b>\n 
     158 *    the #pj_stun_session_respond() is provided as a convenient way to 
     159 *    create and send simple STUN responses, such as error responses. 
     160 *     
     161 *  - <b>destroying the session:</b>\n 
     162 *    once the session is done, use #pj_stun_session_destroy() to destroy 
     163 *    the session. 
    44164 */ 
    45165 
  • pjproject/trunk/pjnath/include/pjnath/stun_sock.h

    r2484 r2642  
    3535 
    3636/** 
    37  * @defgroup PJNATH_STUN_SOCK STUN aware socket transport 
    38  * @brief STUN aware socket transport 
    39  * @ingroup PJNATH_STUN 
     37 * @addtogroup PJNATH_STUN_SOCK 
    4038 * @{ 
    4139 * 
    4240 * The STUN transport provides asynchronous UDP like socket transport 
    43  * with the additional capability to query the publicly mapped transport 
    44  * address (using STUN resolution), to refresh the NAT binding, and to 
    45  * demultiplex internal STUN messages from application data (the  
    46  * application data may be a STUN message as well). 
     41 * with the additional STUN capability. It has the following features: 
     42 * 
     43 *  - API to send and receive UDP packets 
     44 * 
     45 *  - multiplex STUN and non-STUN incoming packets and distinguish between 
     46 *    STUN responses that belong to internal requests with application data 
     47 *    (the application data may be STUN packets as well) 
     48 * 
     49 *  - DNS SRV resolution to the STUN server (if wanted), along with fallback 
     50 *    to DNS A resolution if SRV record is not found. 
     51 * 
     52 *  - STUN keep-alive maintenance, and handle changes to the mapped address 
     53 *    (when the NAT binding changes) 
     54 * 
    4755 */ 
    4856 
     
    276284 * @param p_sock        Pointer to receive the created transport instance. 
    277285 * 
    278  * @restun              PJ_SUCCESS if the operation has been successful, 
     286 * @return              PJ_SUCCESS if the operation has been successful, 
    279287 *                      or the appropriate error code on failure. 
    280288 */ 
     
    328336 * @param sock          The STUN transport socket. 
    329337 * 
    330  * @restun              PJ_SUCCESS if the operation has been successful, 
     338 * @return              PJ_SUCCESS if the operation has been successful, 
    331339 *                      or the appropriate error code on failure. 
    332340 */ 
     
    341349 * @param user_data     Arbitrary data. 
    342350 * 
    343  * @restun              PJ_SUCCESS if the operation has been successful, 
     351 * @return              PJ_SUCCESS if the operation has been successful, 
    344352 *                      or the appropriate error code on failure. 
    345353 */ 
     
    353361 * @param stun_sock     The STUN transport instance. 
    354362 * 
    355  * @restun              The user/application data. 
     363 * @return              The user/application data. 
    356364 */ 
    357365PJ_DECL(void*) pj_stun_sock_get_user_data(pj_stun_sock *stun_sock); 
     
    365373 * @param info          Pointer to be filled with STUN transport info. 
    366374 * 
    367  * @restun              PJ_SUCCESS if the operation has been successful, 
     375 * @return              PJ_SUCCESS if the operation has been successful, 
    368376 *                      or the appropriate error code on failure. 
    369377 */ 
     
    377385 * 
    378386 * @param stun_sock     The STUN transport instance. 
    379  * @param op_key        Optional send key for sending the packet down to 
     387 * @param send_key      Optional send key for sending the packet down to 
    380388 *                      the ioqueue. This value will be given back to 
    381389 *                      \a on_data_sent() callback 
  • pjproject/trunk/pjnath/include/pjnath/stun_transaction.h

    r2394 r2642  
    3737 * @defgroup PJNATH_STUN_TRANSACTION STUN Client Transaction 
    3838 * @brief STUN client transaction 
    39  * @ingroup PJNATH_STUN 
     39 * @ingroup PJNATH_STUN_BASE 
    4040 * @{ 
    4141 * 
  • pjproject/trunk/pjnath/include/pjnath/turn_session.h

    r2589 r2642  
    3131PJ_BEGIN_DECL 
    3232 
    33 /** 
    34  * @defgroup PJNATH_TURN TURN Client Library 
    35  */ 
    36  
    3733 
    3834/* **************************************************************************/ 
    3935/** 
    40  * @defgroup PJNATH_TURN_SESSION Transport independent TURN client session 
    41  * @brief Transport independent TURN client session 
    42  * @ingroup PJNATH_TURN 
    43  * @{ 
    44  * 
    45  * This module describes the transport independent TURN client session. This 
    46  * interface is provided for implementors of a TURN client transport, and 
    47  * application usually will want to use \ref PJNATH_TURN_SOCK instead. 
    48  * 
    49  * The transport independent TURN client session is created to facilitate 
    50  * the creation of different types of transports between the client and the 
    51  * TURN server. 
     36@addtogroup PJNATH_TURN_SESSION 
     37@{ 
     38 
     39The \ref PJNATH_TURN_SESSION is a transport-independent object to 
     40manage a client TURN session. It contains the core logic for manage 
     41the TURN client session as listed in \ref turn_op_sec, but 
     42in transport-independent manner (i.e. it doesn't have a socket), so 
     43that developer can integrate TURN client functionality into existing 
     44framework that already has its own means to send and receive data, 
     45or to support new transport types to TURN, such as TLS. 
     46 
     47 
     48\section turn_sess_using_sec Using the TURN session 
     49 
     50These steps describes how to use the TURN session: 
     51 
     52 - <b>Creating the session</b>:\n 
     53   use #pj_turn_session_create() to create the session.  
     54 
     55 - <b>Configuring credential</b>:\n 
     56   all TURN operations requires the use of authentication (it uses STUN  
     57   long term autentication method). Use #pj_turn_session_set_credential() 
     58   to configure the TURN credential to be used by the session. 
     59 
     60 - <b>Configuring server</b>:\n 
     61   application must call #pj_turn_session_set_server() before it can send 
     62   Allocate request (with pj_turn_session_alloc()). This function will 
     63   resolve the TURN server using DNS SRV resolution if the \a resolver 
     64   is set. The server resolution process will complete asynchronously, 
     65   and application will be notified in \a on_state() callback of the  
     66   #pj_turn_session_cb structurewith the session state set to  
     67   PJ_TURN_STATE_RESOLVED. 
     68 
     69 - <b>Creating allocation</b>:\n 
     70   create one "relay port" (or called <b>relayed-transport-address</b> 
     71   in TURN terminology) in the TURN server by using #pj_turn_session_alloc(). 
     72   This will send Allocate request to the server. This function will complete 
     73   immediately, and application will be notified about the allocation 
     74   result in the \a on_state() callback of the #pj_turn_session_cb structure. 
     75 
     76 - <b>Getting the allocation result</b>:\n 
     77   if allocation is successful, the session state will progress to 
     78   \a PJ_TURN_STATE_READY, otherwise the state will be  
     79   \a PJ_TURN_STATE_DEALLOCATED or higher. Session state progression is 
     80   reported in the \a on_state() callback of the #pj_turn_session_cb  
     81   structure. On successful allocation, application may retrieve the 
     82   allocation info by calling #pj_turn_session_get_info(). 
     83 
     84 - <b>Sending data through the relay</b>.\n 
     85   Once allocation has been created, client may send data to any remote  
     86   endpoints (called peers in TURN terminology) via the "relay port". It does 
     87   so by calling #pj_turn_session_sendto(), giving the peer address  
     88   in the function argument. But note that at this point peers are not allowed 
     89   to send data towards the client (via the "relay port") before permission is 
     90   installed for that peer. 
     91 
     92 - <b>Creating permissions</b>.\n 
     93   Permission needs to be created in the TURN server so that a peer can send  
     94   data to the client via the relay port (a peer in this case is identified by 
     95   its IP address). Without this, when the TURN server receives data from the 
     96   peer in the "relay port", it will drop this data. Create the permission by 
     97   calling #pj_turn_session_set_perm(), specifying the peer IP address in the 
     98   argument (the port part of the address is ignored). More than one IP  
     99   addresses may be specified. 
     100 
     101 - <b>Receiving data from peers</b>.\n 
     102   Once permission has been installed for the peer, any data received by the  
     103   TURN server (from that peer) in the "relay port" will be relayed back to  
     104   client by the server, and application will be notified via \a on_rx_data 
     105   callback of the #pj_turn_session_cb. 
     106 
     107 - <b>Using ChannelData</b>.\n 
     108   TURN provides optimized framing to the data by using ChannelData  
     109   packetization. The client activates this format for the specified peer by 
     110   calling #pj_turn_session_bind_channel(). Data sent or received to/for 
     111   this peer will then use ChannelData format instead of Send or Data  
     112   Indications. 
     113 
     114 - <b>Refreshing the allocation, permissions, and channel bindings</b>.\n 
     115   Allocations, permissions, and channel bindings will be refreshed by the 
     116   session automatically when they about to expire. 
     117 
     118 - <b>Destroying the allocation</b>.\n 
     119   Once the "relay port" is no longer needed, client destroys the allocation 
     120   by calling #pj_turn_session_shutdown(). This function will return 
     121   immediately, and application will be notified about the deallocation 
     122   result in the \a on_state() callback of the #pj_turn_session_cb structure. 
     123   Once the state has reached PJ_TURN_STATE_DESTROYING, application must 
     124   assume that the session will be destroyed shortly after. 
     125 
    52126 */ 
    53127 
  • pjproject/trunk/pjnath/include/pjnath/turn_sock.h

    r2589 r2642  
    3333/* **************************************************************************/ 
    3434/** 
    35  * @defgroup PJNATH_TURN_SOCK TURN client transport 
    36  * @brief Client transport utilizing TURN relay 
    37  * @ingroup PJNATH_TURN 
    38  * @{ 
    39  * 
    40  * The TURN relay client transport can be used to relay data from the client 
    41  * to peer via a TURN relay. The application establishes TURN connection to 
    42  * the TURN server using UDP or TCP as the transport, then creates a relay 
    43  * address in the TURN server to be advertised to remote peer(s) as the  
    44  * transport address. When application sends data to a remote address via 
    45  * this transport, the data will be sent via the TURN relay, and vice versa. 
     35@addtogroup PJNATH_TURN_SOCK 
     36@{ 
     37 
     38This is a ready to use object for relaying application data via a TURN server, 
     39by managing all the operations in \ref turn_op_sec. 
     40 
     41\section turnsock_using_sec Using TURN transport 
     42 
     43This object provides a thin wrapper to the \ref PJNATH_TURN_SESSION, hence the 
     44API is very much the same (apart from the obvious difference in the names). 
     45Please see \ref PJNATH_TURN_SESSION for the documentation on how to use the 
     46session. 
     47 
     48\section turnsock_samples_sec Samples 
     49 
     50The \ref turn_client_sample is a sample application to use the 
     51\ref PJNATH_TURN_SOCK. 
     52 
     53Also see <b>\ref samples_page</b> for other samples. 
     54 
    4655 */ 
    4756 
     
    207216 
    208217/** 
     218 * Configure the SOFTWARE name to be sent in all STUN requests by the 
     219 * TURN session. 
     220 * 
     221 * @param turn_sock     The TURN transport instance. 
     222 * @param sw        Software name string. If this argument is NULL or 
     223 *                  empty, the session will not include SOFTWARE attribute 
     224 *                  in STUN requests and responses. 
     225 * 
     226 * @return          PJ_SUCCESS on success, or the appropriate error code. 
     227 */ 
     228PJ_DECL(pj_status_t) pj_turn_sock_set_software_name(pj_turn_sock *turn_sock, 
     229                                                    const pj_str_t *sw); 
     230 
     231 
     232/** 
    209233 * Allocate a relay address/resource in the TURN server. This function 
    210234 * will resolve the TURN server using DNS SRV (if desired) and send TURN 
  • pjproject/trunk/pjnath/include/pjnath/types.h

    r2589 r2642  
    7373 */ 
    7474 
    75 /* Doxygen documentation below: */ 
    76  
    77 /** 
    78  
    79 @mainpage PJNATH - Open Source ICE, STUN, and TURN Library 
    80  
    81 \n 
    82 This is the documentation of PJNATH, an Open Source library providing 
    83 NAT traversal helper functionalities by using standard based protocols 
    84 such as STUN, TURN, and ICE. 
    85  
    86 \n 
    87 \n 
    88  
    89 \section lib_comps Library Components 
    90  
    91 \subsection comp_stun STUN 
    92  
    93 Session Traversal Utilities (STUN, or previously known as Simple  
    94 Traversal of User Datagram Protocol (UDP) Through Network Address  
    95 Translators (NAT)s), is a lightweight protocol that serves as a tool for 
    96 application protocols in dealing with NAT traversal. It allows a client 
    97 to determine the IP address and port allocated to them by a NAT and to  
    98 keep NAT bindings open. 
    99  
    100 This version of PJNATH implements the following STUN RFC: 
    101 - <A HREF="http://www.ietf.org/rfc/rfc5389.txt"><B>RFC 5389</b></A>:  
    102     Session Traversal Utilities for (NAT) (STUN), 
    103  
    104  
    105 \subsection comp_turn TURN 
    106  
    107 Traversal Using Relays around NAT (TURN) allows the host to control the 
    108 operation of the relay and to exchange packets with its peers using the relay. 
    109  
    110 Features: 
    111  - <A HREF="http://www.ietf.org/internet-drafts/draft-ietf-behave-turn-13.txt"> 
    112    <B>draft-ietf-behave-turn-13</B></A>: Obtaining Relay Addresses  
    113    from Simple Traversal Underneath NAT (STUN) 
    114  - DNS SRV resolution 
    115  - Fallback to DNS A resolution if SRV record is not found 
    116  - UDP and TCP connection to TURN server 
    117  - automatic management of allocation refresh 
    118  
    119  
    120  
    121 \subsection comp_ice ICE 
    122  
    123 Interactive Connectivity Establishment (ICE) is a standard based  
    124 methodology for traversing Network Address Translator (NAT). This 
    125 implementation is aimed to provide a usable and generic ICE transports 
    126 for different types of application, including but not limited to 
    127 the usage of ICE in SIP/SDP offer/answer. 
    128  
    129  
    130 This version of PJNATH implements the following ICE draft: 
    131  - <A HREF="http://www.ietf.org/internet-drafts/draft-ietf-mmusic-ice-19.txt"> 
    132    <B>draft-ietf-mmusic-ice-19.txt</B></A> draft. The PJNATH ICE 
    133  
    134  
    135 \subsection comp_natck NAT Classification Utility 
    136  
    137 The PJNATH library also provides NAT classification utility as  
    138 described in <A HREF="http://www.ietf.org/rfc/rfc3489.txt">RFC 3489</A>. 
    139 While the practice to detect the NAT type to assist NAT traversal 
    140 has been deprecated in favor of ICE, the information may still be 
    141 useful for troubleshooting purposes, hence the utility is provided. 
    142  
    143  
    144 \n 
    145 \n 
    146  
    147 \section lib_org Library Organization 
    148  
    149 The PJNATH library consists of many components with each providing 
    150 specific functionality that may or may not be of the interests of  
    151 applications (or application developers). This section attempts to  
    152 give brief overview on the components provided by PJNATH. 
    153  
    154 The PJNATH components from the highest layer to the lower layer are 
    155 as follows. 
    156  
    157  
    158 \n 
    159  
    160 \subsection user_comp High-level Transport Objects 
    161  
    162 PJNATH library provides some high-level objects that may be used 
    163 by applications: 
    164  
    165  
    166 \subsubsection stun_sock STUN Transport 
    167  
    168 The \ref PJNATH_STUN_SOCK provides asynchronous UDP like socket transport 
    169 with the additional capability to query the publicly mapped transport 
    170 address (using STUN resolution), to refresh the NAT binding, and to 
    171 demultiplex internal STUN messages from application data (the  
    172 application data may be a STUN message as well). 
    173  
    174  
    175 \subsubsection turn_sock TURN Client Transport 
    176  
    177 The \ref PJNATH_TURN_SOCK may be used by the application to send and 
    178 receive data via TURN server. For more information please see the 
    179 documentation of \ref PJNATH_TURN_SOCK. 
    180  
    181  
    182 \subsubsection ice_strans ICE Stream Transport 
    183  
    184 The \ref PJNATH_ICE_STREAM_TRANSPORT provides transport interface to 
    185 send and receive data through connection that is negotiated 
    186 with ICE protocol. The \ref PJNATH_ICE_STREAM_TRANSPORT naturally  
    187 contains both STUN Transport and \ref PJNATH_TURN_SOCK. 
    188  
    189 The \ref PJNATH_ICE_STREAM_TRANSPORT interface is suitable for both 
    190 SIP or non-SIP use. For SIP use, application may prefer to use the 
    191 ICE media transport in PJMEDIA instead where it has been integrated 
    192 with the SDP offer and answer mechanism. 
    193  
    194  
    195 \subsubsection natck NAT Classification Utility 
    196  
    197 PJNATH also provides \a PJNATH_NAT_DETECT to assist troubleshooting 
    198 of problems related to NAT traversal. 
    199  
    200  
    201  
    202 \n 
    203  
    204  
    205 \subsection sessions Transport Independent Sessions Layer 
    206  
    207 Right below the high level transports objects are the transport 
    208 independent sessions. These sessions don't have access to sockets, 
    209 so higher level objects (such as transports) must give incoming 
    210 packets to the sessions and provide callback to be called by 
    211 sessions to send outgoing packets. 
    212  
    213  
    214 \subsubsection ice_sess ICE Session 
    215  
    216 The \ref PJNATH_ICE_SESSION is used by the \ref PJNATH_ICE_STREAM_TRANSPORT 
    217 and contains the actual logic of the ICE negotiation. 
    218  
    219  
    220 \subsubsection turn_sess TURN Session 
    221  
    222 The \ref PJNATH_TURN_SESSION is used by the \ref PJNATH_TURN_SOCK 
    223 and it contains TURN protocol logic. Implementors may implement 
    224 other types of TURN client connection (such as TURN TLS client) 
    225 by utilizing this session. 
    226  
    227  
    228 \subsubsection stun_sess STUN Session 
    229  
    230 The \ref PJNATH_STUN_SESSION manages STUN message exchange between 
    231 a client and server (or vice versa). It manages \ref PJNATH_STUN_TRANSACTION 
    232 for sending or receiving requests and \ref PJNATH_STUN_AUTH for both 
    233 both incoming and outgoing STUN messages.  
    234  
    235 The \ref PJNATH_STUN_SESSION is naturally used by the \ref PJNATH_TURN_SESSION 
    236 and \ref PJNATH_ICE_SESSION 
    237  
    238  
    239 \n 
    240  
    241 \subsection stun_tsx STUN Transaction Layer 
    242  
    243 The \ref PJNATH_STUN_TRANSACTION is a thin layer to manage retransmission 
    244 of STUN requests. 
    245  
    246  
    247 \n 
    248  
    249  
    250 \subsection stun_msg STUN Messaging Layer 
    251  
    252 At the very bottom of the PJNATH components is the \ref PJNATH_STUN_MSG 
    253 layer. The API contains various representation of STUN messaging components 
    254 and it provides API to encode and decode STUN messages. 
    255  
    256  
    257  
    258 \n 
    259 \n 
    260  
    261 \section class_dia Class Diagram 
    262  
    263  
    264 The following class diagram shows the interactions between objects in 
    265 PJNATH: 
    266  
    267 \image html UML-class-diagram.png "Class Diagram" 
    268 \image latex UML-class-diagram.png "Class Diagram" 
    269  
    270  
    271  
    272 \n 
    273 \n 
    274  
    275 \section samples Sample Applications 
    276  
    277  
    278 Some sample applications have been provided with PJNATH, and it's available 
    279 under <tt>pjnath/src</tt> directory: 
    280  
    281    - <b>pjturn-client</b>: this is a stand-alone, console based TURN client 
    282      application to be used as a demonstration for PJNATH TURN client  
    283      transport API and for simple testing against TURN server implementations. 
    284      The client supports both UDP and TCP connection to the TURN server. 
    285  
    286    - <b>pjturn-srv</b>: this is a simple TURN server to be used for testing 
    287      purposes. It supports both UDP and TCP connections to the clients. 
    288  
    289  
    290 */ 
    291  
    292 /** 
    293  * @defgroup PJNATH_STUN STUN Library 
    294  * @brief Open source STUN library 
    295  * 
    296  * This module contains implementation of STUN library in PJNATH - 
    297  * the open source NAT helper containing STUN and ICE. 
    298  */ 
    299  
    30075#endif  /* __PJNATH_TYPES_H__ */ 
    30176 
  • pjproject/trunk/pjnath/src/pjnath/turn_sock.c

    r2589 r2642  
    340340 
    341341/* 
     342 * Set software name 
     343 */ 
     344PJ_DEF(pj_status_t) pj_turn_sock_set_software_name( pj_turn_sock *turn_sock, 
     345                                                    const pj_str_t *sw) 
     346{ 
     347    return pj_turn_session_set_software_name(turn_sock->sess, sw); 
     348} 
     349 
     350/* 
    342351 * Initialize. 
    343352 */ 
Note: See TracChangeset for help on using the changeset viewer.