Rewrite meeting tests: add fake data generator, rewrite the

SimpleUrlTest tests to work with fake data and expand them a bit (they
are still pretty basic), rewrite the agenda editing tests to work with
the small generated fake data, delete those tests that are trivial or
only testing fixture facts as opposed to actually exercising the code,
combine some of them, expand most to actually check the returned JSON
and generally clean up the copy-paste mess of incorrect comments and
incorrect POST data.

At this point, no tests are using the real data base test machinery,
so one can run the full test suite with just

  python manage.py test --settings=settings_sqlitetest

This takes about 72 seconds one a 2.4 GHz Intel Core 2. The
test-crawler and other real data tests take somewhat longer, though.
 - Legacy-Id: 7069
This commit is contained in:
Ole Laursen 2013-12-24 16:09:33 +00:00
parent 3408b73872
commit d5b14f3fb3
18 changed files with 658 additions and 26152 deletions

55
ietf/meeting/test_data.py Normal file
View file

@ -0,0 +1,55 @@
import datetime
from ietf.utils.test_data import make_test_data
from ietf.meeting.models import Meeting, Room, TimeSlot, Session, Schedule, ScheduledSession
from ietf.person.models import Person
from ietf.doc.models import Document, State
from ietf.group.models import Group
def make_meeting_test_data():
make_test_data()
system_person = Person.objects.get(name="(System)")
plainman = Person.objects.get(user__username="plain")
meeting = Meeting.objects.get(number="42", type="ietf")
schedule = Schedule.objects.create(meeting=meeting, owner=plainman, name="test-agenda", visible=True, public=True)
room = Room.objects.create(meeting=meeting, name="Test Room", capacity=123)
# mars WG
slot = TimeSlot.objects.create(meeting=meeting, type_id="session", duration=30 * 60, location=room,
time=datetime.datetime.combine(datetime.date.today(), datetime.time(9, 30)))
mars_session = Session.objects.create(meeting=meeting, group=Group.objects.get(acronym="mars"),
attendees=10, requested_by=system_person,
requested_duration=20, status_id="sched",
scheduled=datetime.datetime.now())
ScheduledSession.objects.create(timeslot=slot, session=mars_session, schedule=schedule)
# ames WG
slot = TimeSlot.objects.create(meeting=meeting, type_id="session", duration=30 * 60, location=room,
time=datetime.datetime.combine(datetime.date.today(), datetime.time(10, 30)))
ames_session = Session.objects.create(meeting=meeting, group=Group.objects.get(acronym="ames"),
attendees=10, requested_by=system_person,
requested_duration=20, status_id="sched",
scheduled=datetime.datetime.now())
ScheduledSession.objects.create(timeslot=slot, session=ames_session, schedule=schedule)
meeting.agenda = schedule
meeting.save()
doc = Document.objects.create(name='agenda-mars-ietf-42', type_id='agenda', title="Agenda", external_url="agenda-mars")
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
mars_session.materials.add(doc)
doc = Document.objects.create(name='minutes-mars-ietf-42', type_id='minutes', title="Minutes", external_url="minutes-mars")
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
mars_session.materials.add(doc)
doc = Document.objects.create(name='slides-mars-ietf-42', type_id='slides', title="Slideshow", external_url="slides-mars")
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
mars_session.materials.add(doc)
return meeting

View file

@ -1,16 +0,0 @@
# Copyright The IETF Trust 2012, All Rights Reserved
"""
The test cases are split into multiple files.
"""
# actual tests are distributed among a set of files in subdir tests/
from ietf.meeting.tests.meetingurls import MeetingUrlTestCase
from ietf.meeting.tests.agenda import AgendaInfoTestCase
from ietf.meeting.tests.api import ApiTestCase
from ietf.meeting.tests.edit import EditTestCase
from ietf.meeting.tests.auths import AuthDataTestCase
from ietf.meeting.tests.view import ViewTestCase
from ietf.meeting.tests.urlgen import UrlGenTestCase

File diff suppressed because it is too large Load diff

View file

@ -1,172 +0,0 @@
"Date","Start","End","Session","Room","Area","Acronym","Type","Description","Session ID","Agenda","Slides"
"2012-03-24","0930","1800","None","Hall Maillot A","","tools","","Code Sprint","22083","",""
"2012-03-25","1000","1200","None","241","","iepg","","IEPG Meeting","2288","",""
"2012-03-25","1100","1900","Registration","Hall Maillot A","","","","IETF Registration","r2898","",""
"2012-03-25","1130","1300","Break","Hall Maillot A","","","","Break","b2904","",""
"2012-03-25","1300","1450","None","252A","","ietf","","Meetecho Tutorial for Participants and WG Chairs","2278","",""
"2012-03-25","1300","1450","None","252B","","edu","GEN","Newcomers' Orientation","2275","",""
"2012-03-25","1300","1450","None","241","","edu","GEN","Tools for Creating Internet-Drafts Tutorial","2274","",""
"2012-03-25","1500","1650","None","252B","","edu","GEN","Newcomers' Orientation (French)","2277","",""
"2012-03-25","1500","1650","None","241","","edu","GEN","Operations, Administration, and Maintenance Tutorial","2276","",""
"2012-03-25","1600","1700","None","Salon Etoile d'Or (Concorde Hotel)","","ietf","","Newcomers' Meet and Greet (open to Newcomers and WG chairs only)","2280","",""
"2012-03-25","1700","1900","None","Hall Maillot A","","ietf","","Welcome Reception","2279","",""
"2012-03-26","0800","1800","Registration","Hall Maillot A","","","","IETF Registration","r2899","",""
"2012-03-26","0800","0900","Break","Hall Maillot A","","","","Beverages","b2909","",""
"2012-03-26","0900","1130","Morning Session I","252B","APP","appsawg","WG","Applications Area Working Group","2160","http://www.ietf.org/proceedings/83/agenda/agenda-83-appsawg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-4.pdf"
"2012-03-26","0900","1130","Morning Session I","252A","INT","multimob","WG","Multicast Mobility","2161","http://www.ietf.org/proceedings/83/agenda/agenda-83-multimob.html","http://www.ietf.org/proceedings/83/slides/slides-83-multimob-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-7.pdf"
"2012-03-26","0900","1130","Morning Session I","212/213","INT","tictoc","WG","Timing over IP Connection and Transfer of Clock","2257","http://www.ietf.org/proceedings/83/agenda/agenda-83-tictoc.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-1.pdf"
"2012-03-26","0900","1130","Morning Session I","241","INT","trill","WG","Transparent Interconnection of Lots of Links","2174","http://www.ietf.org/proceedings/83/agenda/agenda-83-trill.txt","http://www.ietf.org/proceedings/83/slides/slides-83-trill-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-9.pdf"
"2012-03-26","0900","1130","Morning Session I","253","IRTF","ncrg","","Network Complexity Research Group","2222","http://www.ietf.org/proceedings/83/agenda/agenda-83-ncrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-3.pdf"
"2012-03-26","0900","1130","Morning Session I","Maillot","OPS","v6ops","WG","IPv6 Operations","2175","http://www.ietf.org/proceedings/83/agenda/agenda-83-v6ops.html","http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-13.pdf"
"2012-03-26","0900","1130","Morning Session I","243","RAI","mmusic","WG","Multiparty Multimedia Session Control","2166","http://www.ietf.org/proceedings/83/agenda/agenda-83-mmusic.htm","http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-1.pdf"
"2012-03-26","0900","1130","Morning Session I","242AB","RTG","idr","WG","Inter-Domain Routing","2202","http://www.ietf.org/proceedings/83/agenda/agenda-83-idr.txt","http://www.ietf.org/proceedings/83/slides/slides-83-idr-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-9.pdf"
"2012-03-26","1130","1300","Break","Hall Maillot A","","","","Break","b2905","",""
"2012-03-26","1300","1500","Afternoon Session I","212/213","APP","eai","WG","Email Address Internationalization","2265","",""
"2012-03-26","1300","1500","Afternoon Session I","242AB","APP","websec","WG","Web Security","2159","http://www.ietf.org/proceedings/83/agenda/agenda-83-websec.txt","http://www.ietf.org/proceedings/83/slides/slides-83-websec-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-5.pdf"
"2012-03-26","1300","1500","Afternoon Session I","212/213","IRTF","mobopts","","IP Mobility Optimizations Research Group","2263","http://www.ietf.org/proceedings/83/agenda/agenda-83-mobopts.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-3.pdf"
"2012-03-26","1300","1500","Afternoon Session I","243","OPS","netmod","WG","NETCONF Data Modeling Language","2168","http://www.ietf.org/proceedings/83/agenda/agenda-83-netmod.txt","http://www.ietf.org/proceedings/83/slides/slides-83-netmod-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-3.pdf"
"2012-03-26","1300","1500","Afternoon Session I","252B","RAI","avtcore","WG","Audio/Video Transport Core Maintenance","2216","http://www.ietf.org/proceedings/83/agenda/agenda-83-avtcore.html","http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-5.pdf"
"2012-03-26","1300","1500","Afternoon Session I","Maillot","RTG","ccamp","WG","Common Control and Measurement Plane","2162","http://www.ietf.org/proceedings/83/agenda/agenda-83-ccamp.htm","http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-18.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-19.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-20.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-25.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-28.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-29.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-30.pdf"
"2012-03-26","1300","1500","Afternoon Session I","241","RTG","sidr","WG","Secure Inter-Domain Routing","22087","http://www.ietf.org/proceedings/83/agenda/agenda-83-sidr.html","http://www.ietf.org/proceedings/83/slides/slides-83-sidr-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-17.pdf"
"2012-03-26","1300","1500","Afternoon Session I","252A","TSV","i2aex","BOF","Infrastructure-to-Application Information Exposure","2281","http://www.ietf.org/proceedings/83/agenda/agenda-83-i2aex.txt","http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-4.pdf"
"2012-03-26","1300","1500","Afternoon Session I","253","TSV","ippm","WG","IP Performance Metrics","2248","http://www.ietf.org/proceedings/83/agenda/agenda-83-ippm.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ippm-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ippm-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ippm-1.pdf"
"2012-03-26","1510","1610","Afternoon Session II","243","APP","urnbis","WG","Uniform Resource Names, Revised","2234","http://www.ietf.org/proceedings/83/agenda/agenda-83-urnbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-urnbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-urnbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-urnbis-2.pdf"
"2012-03-26","1510","1610","Afternoon Session II","Maillot","INT","pcp","WG","Port Control Protocol","2196","http://www.ietf.org/proceedings/83/agenda/agenda-83-pcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pcp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-14.pdf"
"2012-03-26","1510","1610","Afternoon Session II","242AB","OPS","opsec","WG","Operational Security Capabilities for IP Network Infrastructure","2247","http://www.ietf.org/proceedings/83/agenda/agenda-83-opsec.txt","http://www.ietf.org/proceedings/83/slides/slides-83-opsec-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-6.pdf"
"2012-03-26","1510","1610","Afternoon Session II","252B","RAI","avtcore","WG","Audio/Video Transport Core Maintenance","2216","http://www.ietf.org/proceedings/83/agenda/agenda-83-avtcore.html","http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-5.pdf"
"2012-03-26","1510","1610","Afternoon Session II","241","RAI","insipid","WG","INtermediary-safe SIP session ID","2282","http://www.ietf.org/proceedings/83/agenda/agenda-83-insipid.txt","http://www.ietf.org/proceedings/83/slides/slides-83-insipid-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-5.pdf"
"2012-03-26","1510","1610","Afternoon Session II","253","RTG","forces","WG","Forwarding and Control Element Separation","2180","http://www.ietf.org/proceedings/83/agenda/agenda-83-forces.txt","http://www.ietf.org/proceedings/83/slides/slides-83-forces-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-5.pdf"
"2012-03-26","1510","1610","Afternoon Session II","252A","SEC","ipsecme","WG","IP Security Maintenance and Extensions","2230","http://www.ietf.org/proceedings/83/agenda/agenda-83-ipsecme.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-5.pdf"
"2012-03-26","1510","1610","Afternoon Session II","212/213","TSV","rmt","WG","Reliable Multicast Transport","2198","http://www.ietf.org/proceedings/83/agenda/agenda-83-rmt.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rmt-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rmt-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rmt-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rmt-3.pdf"
"2012-03-26","1610","1630","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2914","",""
"2012-03-26","1630","1930","Technical Plenary","Amphitheatre Bleu","","iab","","Technical Plenary","2273","http://www.ietf.org/proceedings/83/agenda/agenda-83-iab-technical-plenary.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iab-0-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-6-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-5-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-7-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-8-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-9-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-10-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-11-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-12-technical-plenary.pdf"
"2012-03-27","0800","1800","Registration","Hall Maillot A","","","","IETF Registration","r2900","",""
"2012-03-27","0800","0900","Break","Hall Maillot A","","","","Beverages","b2910","",""
"2012-03-27","0900","1130","Morning Session I","243","APP","core","WG","Constrained RESTful Environments","2193","http://www.ietf.org/proceedings/83/agenda/agenda-83-core.txt","http://www.ietf.org/proceedings/83/slides/slides-83-core-0.pdf"
"2012-03-27","0900","1130","Morning Session I","252A","GEN","antitrust","BOF","Does the IETF Need an Anti-Trust Policy","2283","http://www.ietf.org/proceedings/83/agenda/agenda-83-antitrust.txt","http://www.ietf.org/proceedings/83/slides/slides-83-antitrust-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-antitrust-2.pdf"
"2012-03-27","0900","1130","Morning Session I","Maillot","INT","6man","WG","IPv6 Maintenance","2206","http://www.ietf.org/proceedings/83/agenda/agenda-83-6man.html","http://www.ietf.org/proceedings/83/slides/slides-83-6man-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-7.pdf"
"2012-03-27","0900","1130","Morning Session I","241","IRTF","dtnrg","","Delay-Tolerant Networking Research Group","2231","http://www.ietf.org/proceedings/83/agenda/agenda-83-dtnrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-5.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-7.pdf"
"2012-03-27","0900","1130","Morning Session I","252B","RAI","clue","WG","ControLling mUltiple streams for tElepresence","2194","http://www.ietf.org/proceedings/83/agenda/agenda-83-clue.html","http://www.ietf.org/proceedings/83/slides/slides-83-clue-6.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-4.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-5.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-clue-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-10.pdf"
"2012-03-27","0900","1130","Morning Session I","242AB","RTG","mpls","WG","Multiprotocol Label Switching","2188","http://www.ietf.org/proceedings/83/agenda/agenda-83-mpls.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mpls-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-25.pdf"
"2012-03-27","0900","1130","Morning Session I","212/213","SEC","pkix","WG","Public-Key Infrastructure (X.509)","2157","http://www.ietf.org/proceedings/83/agenda/agenda-83-pkix.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pkix-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-8.pdf"
"2012-03-27","0900","1130","Morning Session I","253","TSV","tsvwg","WG","Transport Area Working Group","2242","http://www.ietf.org/proceedings/83/agenda/agenda-83-tsvwg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-6.pdf"
"2012-03-27","1130","1300","Break","Hall Maillot A","","","","Break","b2906","",""
"2012-03-27","1300","1500","Afternoon Session I","252A","APP","httpbis","WG","Hypertext Transfer Protocol Bis","2238","http://www.ietf.org/proceedings/83/agenda/agenda-83-httpbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-5.pdf"
"2012-03-27","1300","1500","Afternoon Session I","252B","INT","pcp","WG","Port Control Protocol","12196","http://www.ietf.org/proceedings/83/agenda/agenda-83-pcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pcp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-14.pdf"
"2012-03-27","1300","1500","Afternoon Session I","212/213","OPS","bmwg","WG","Benchmarking Methodology","2243","http://www.ietf.org/proceedings/83/agenda/agenda-83-bmwg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-5.pdf"
"2012-03-27","1300","1500","Afternoon Session I","241","OPS","eman","WG","Energy Management","2237","http://www.ietf.org/proceedings/83/agenda/agenda-83-eman.txt","http://www.ietf.org/proceedings/83/slides/slides-83-eman-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-7.pdf"
"2012-03-27","1300","1500","Afternoon Session I","Maillot","RAI","dispatch","WG","Dispatch","2190","http://www.ietf.org/proceedings/83/agenda/agenda-83-dispatch.html","http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-1.pdf"
"2012-03-27","1300","1500","Afternoon Session I","242AB","RTG","ospf","WG","Open Shortest Path First IGP","2172","http://www.ietf.org/proceedings/83/agenda/agenda-83-ospf.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ospf-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ospf-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ospf-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ospf-1.pdf"
"2012-03-27","1300","1500","Afternoon Session I","243","RTG","pim","WG","Protocol Independent Multicast","2177","http://www.ietf.org/proceedings/83/agenda/agenda-83-pim.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pim-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-5.pdf"
"2012-03-27","1300","1500","Afternoon Session I","253","SEC","kitten","WG","Common Authentication Technology Next Generation","2253","http://www.ietf.org/proceedings/83/agenda/agenda-83-kitten.txt","http://www.ietf.org/proceedings/83/slides/slides-83-kitten-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-5.pdf"
"2012-03-27","1300","1500","Afternoon Session I","253","SEC","krb-wg","WG","Kerberos","2250","http://www.ietf.org/proceedings/83/agenda/agenda-83-krb-wg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-krb-wg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-krb-wg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-krb-wg-2.pdf"
"2012-03-27","1500","1520","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2915","",""
"2012-03-27","1520","1700","Afternoon Session II","243","APP","weirds","WG","Web Extensible Internet Registration Data Service","2284","http://www.ietf.org/proceedings/83/agenda/agenda-83-weirds.txt","http://www.ietf.org/proceedings/83/slides/slides-83-weirds-0.pdf"
"2012-03-27","1520","1700","Afternoon Session II","212/213","INT","ancp","WG","Access Node Control Protocol","2236","http://www.ietf.org/proceedings/83/agenda/agenda-83-ancp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ancp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ancp-3.pdf"
"2012-03-27","1520","1700","Afternoon Session II","252B","INT","lisp","WG","Locator/ID Separation Protocol","2164","http://www.ietf.org/proceedings/83/agenda/agenda-83-lisp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-lisp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-5.pdf"
"2012-03-27","1520","1700","Afternoon Session II","252A","IRTF","iccrg","","Internet Congestion Control Research Group","2223","http://www.ietf.org/proceedings/83/agenda/agenda-83-iccrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-7.pdf"
"2012-03-27","1520","1700","Afternoon Session II","242AB","OPS","6renum","WG","IPv6 Site Renumbering","2245","http://www.ietf.org/proceedings/83/agenda/agenda-83-6renum.txt","http://www.ietf.org/proceedings/83/slides/slides-83-6renum-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6renum-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6renum-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6renum-3.pdf"
"2012-03-27","1520","1700","Afternoon Session II","Maillot","RAI","avtext","WG","Audio/Video Transport Extensions","2212","http://www.ietf.org/proceedings/83/agenda/agenda-83-avtext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-avtext-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-6.pdf"
"2012-03-27","1520","1700","Afternoon Session II","253","RAI","vipr","WG","Verification Involving PSTN Reachability","2271","http://www.ietf.org/proceedings/83/agenda/agenda-83-vipr.txt","http://www.ietf.org/proceedings/83/slides/slides-83-vipr-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-vipr-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-vipr-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-vipr-3.pdf"
"2012-03-27","1520","1700","Afternoon Session II","241","SEC","jose","WG","Javascript Object Signing and Encryption","2170","http://www.ietf.org/proceedings/83/agenda/agenda-83-jose.html","http://www.ietf.org/proceedings/83/slides/slides-83-jose-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-4.pdf"
"2012-03-27","1710","1810","Afternoon Session III","212/213","APP","marf","WG","Messaging Abuse Reporting Format","2227","http://www.ietf.org/proceedings/83/agenda/agenda-83-marf.txt","http://www.ietf.org/proceedings/83/slides/slides-83-marf-0.pdf"
"2012-03-27","1710","1810","","Maillot","GEN","rfcform","BOF","RFC Format Design Team Update","22081","http://www.ietf.org/proceedings/83/agenda/agenda-83-rfcform.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-5.pdf"
"2012-03-27","1710","1810","Afternoon Session III","242AB","INT","dnsext","WG","DNS Extensions","2214","http://www.ietf.org/proceedings/83/agenda/agenda-83-dnsext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-0.html|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-7.pdf"
"2012-03-27","1710","1810","Afternoon Session III","252A","IRTF","iccrg","","Internet Congestion Control Research Group","2223","http://www.ietf.org/proceedings/83/agenda/agenda-83-iccrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-7.pdf"
"2012-03-27","1710","1810","Afternoon Session III","243","OPS","netconf","WG","Network Configuration","2182","http://www.ietf.org/proceedings/83/agenda/agenda-83-netconf.txt","http://www.ietf.org/proceedings/83/slides/slides-83-netconf-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netconf-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netconf-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netconf-2.pdf"
"2012-03-27","1710","1810","Afternoon Session III","252B","RAI","sipcore","WG","Session Initiation Protocol Core","2210","http://www.ietf.org/proceedings/83/agenda/agenda-83-sipcore.html","http://www.ietf.org/proceedings/83/slides/slides-83-sipcore-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sipcore-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sipcore-1.pdf"
"2012-03-27","1710","1810","Afternoon Session III","241","RTG","isis","WG","IS-IS for IP Internets","2244","http://www.ietf.org/proceedings/83/agenda/agenda-83-isis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-isis-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-3.pptm|http://www.ietf.org/proceedings/83/slides/slides-83-isis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-8.pdf"
"2012-03-27","1710","1810","Afternoon Session III","253","SEC","mile","WG","Managed Incident Lightweight Exchange","2169","http://www.ietf.org/proceedings/83/agenda/agenda-83-mile.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mile-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-4.pdf"
"2012-03-28","0800","1700","Registration","Hall Maillot A","","","","IETF Registration","r2901","",""
"2012-03-28","0800","0900","Break","Hall Maillot A","","","","Beverages","b2911","",""
"2012-03-28","0900","1130","Morning Session I","243","APP","paws","WG","Protocol to Access WS database","2249","http://www.ietf.org/proceedings/83/agenda/agenda-83-paws.txt","http://www.ietf.org/proceedings/83/slides/slides-83-paws-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-4.txt"
"2012-03-28","0900","1130","Morning Session I","242AB","INT","homenet","WG","Home Networking","2183","http://www.ietf.org/proceedings/83/agenda/agenda-83-homenet.txt","http://www.ietf.org/proceedings/83/slides/slides-83-homenet-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-3.pdf"
"2012-03-28","0900","1130","Morning Session I","253","OPS","opsarea","","Operations & Management Area Open Meeting","2184","http://www.ietf.org/proceedings/83/agenda/agenda-83-opsarea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-opsarea-0.pdf"
"2012-03-28","0900","1130","Afternoon Session I","253","OPS","opsawg","WG","Operations and Management Area Working Group","22085","http://www.ietf.org/proceedings/83/agenda/agenda-83-opsawg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-8.pdf"
"2012-03-28","0900","1130","Morning Session I","252B","RAI","rtcweb","WG","Real-Time Communication in WEB-browsers","2192","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtcweb.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-5.pdf"
"2012-03-28","0900","1130","Morning Session I","Maillot","RTG","ccamp","WG","Common Control and Measurement Plane","12162","http://www.ietf.org/proceedings/83/agenda/agenda-83-ccamp.htm","http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-18.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-19.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-20.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-25.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-28.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-29.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-30.pdf"
"2012-03-28","0900","1130","Morning Session I","241","RTG","sidr","WG","Secure Inter-Domain Routing","2203","http://www.ietf.org/proceedings/83/agenda/agenda-83-sidr.html","http://www.ietf.org/proceedings/83/slides/slides-83-sidr-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-17.pdf"
"2012-03-28","0900","1130","Morning Session I","212/213","TSV","nfsv4","WG","Network File System Version 4","2225","http://www.ietf.org/proceedings/83/agenda/agenda-83-nfsv4.txt","http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-5.pdf"
"2012-03-28","0900","1130","Morning Session I","252A","TSV","ppsp","WG","Peer to Peer Streaming Protocol","2187","http://www.ietf.org/proceedings/83/agenda/agenda-83-ppsp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-4.pdf"
"2012-03-28","1130","1300","Break","Hall Maillot A","","","","Break","b2907","",""
"2012-03-28","1130","1300","None","252B","","edu","GEN","Working Group Chairs' Training","22089","",""
"2012-03-28","1300","1500","Afternoon Session I","252B","APP","hybi","WG","BiDirectional or Server-Initiated HTTP","2256","http://www.ietf.org/proceedings/83/agenda/agenda-83-hybi.txt","http://www.ietf.org/proceedings/83/slides/slides-83-hybi-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-hybi-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-hybi-1.pdf"
"2012-03-28","1300","1500","Afternoon Session I","243","APP","repute","WG","Reputation Services","2197","http://www.ietf.org/proceedings/83/agenda/agenda-83-repute.txt",""
"2012-03-28","1300","1500","Afternoon Session I","253","INT","netext","WG","Network-Based Mobility Extensions","2211","http://www.ietf.org/proceedings/83/agenda/agenda-83-netext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-netext-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-8.pdf"
"2012-03-28","1300","1500","Afternoon Session I","252A","RAI","ecrit","WG","Emergency Context Resolution with Internet Technologies","2218","http://www.ietf.org/proceedings/83/agenda/agenda-83-ecrit.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-1.pdf"
"2012-03-28","1300","1500","Afternoon Session I","242AB","RTG","karp","WG","Keying and Authentication for Routing Protocols","2173","http://www.ietf.org/proceedings/83/agenda/agenda-83-karp.html","http://www.ietf.org/proceedings/83/slides/slides-83-karp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-7.pdf"
"2012-03-28","1300","1500","Afternoon Session I","Maillot","RTG","nvo3","WG","Network Virtualization Overlays","2285","http://www.ietf.org/proceedings/83/agenda/agenda-83-nvo3.html","http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-6.pdf"
"2012-03-28","1300","1500","Afternoon Session I","241","RTG","roll","WG","Routing Over Low power and Lossy networks","2178","http://www.ietf.org/proceedings/83/agenda/agenda-83-roll.txt","http://www.ietf.org/proceedings/83/slides/slides-83-roll-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-6.pdf"
"2012-03-28","1300","1500","Afternoon Session I","212/213","SEC","nea","WG","Network Endpoint Assessment","2246","http://www.ietf.org/proceedings/83/agenda/agenda-83-nea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-nea-0.pdf"
"2012-03-28","1510","1610","Afternoon Session II","242AB","INT","softwire","WG","Softwires","2195","http://www.ietf.org/proceedings/83/agenda/agenda-83-softwire.htm","http://www.ietf.org/proceedings/83/slides/slides-83-softwire-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-14.pdf"
"2012-03-28","1510","1610","Afternoon Session II","Maillot","OPS","armd","WG","Address Resolution for Massive numbers of hosts in the Data center","2240","http://www.ietf.org/proceedings/83/agenda/agenda-83-armd.html","http://www.ietf.org/proceedings/83/slides/slides-83-armd-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-armd-0.pdf"
"2012-03-28","1510","1610","Afternoon Session II","241","RAI","p2psip","WG","Peer-to-Peer Session Initiation Protocol","2258","http://www.ietf.org/proceedings/83/agenda/agenda-83-p2psip.txt","http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-6.pdf"
"2012-03-28","1510","1610","Afternoon Session II","252A","RAI","soc","WG","SIP Overload Control","2207","http://www.ietf.org/proceedings/83/agenda/agenda-83-soc.txt","http://www.ietf.org/proceedings/83/slides/slides-83-soc-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-soc-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-soc-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-soc-3.pdf"
"2012-03-28","1510","1610","Afternoon Session II","253","RAI","xmpp","WG","Extensible Messaging and Presence Protocol","2252","http://www.ietf.org/proceedings/83/agenda/agenda-83-xmpp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-6.pdf"
"2012-03-28","1510","1610","Afternoon Session II","252B","RTG","bfd","WG","Bidirectional Forwarding Detection","2199","http://www.ietf.org/proceedings/83/agenda/agenda-83-bfd.txt","http://www.ietf.org/proceedings/83/slides/slides-83-bfd-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfd-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfd-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfd-2.pdf"
"2012-03-28","1510","1610","Afternoon Session II","243","SEC","tls","WG","Transport Layer Security","2254","http://www.ietf.org/proceedings/83/agenda/agenda-83-tls.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tls-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-3.pdf"
"2012-03-28","1510","1610","Afternoon Session II","212/213","TSV","pcn","WG","Congestion and Pre-Congestion Notification","2261","http://www.ietf.org/proceedings/83/agenda/agenda-83-pcn.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pcn-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcn-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcn-2.pdf"
"2012-03-28","1610","1630","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2916","",""
"2012-03-28","1630","1930","IETF Operations and Administration Plenary","Amphitheatre Bleu","","iesg","","IETF Operations and Administration Plenary","2272","http://www.ietf.org/proceedings/83/agenda/agenda-83-iesg-ietf-operations-and-administration-plenary.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iesg-0-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-1-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-12-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-2-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-3-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-11-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-4-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-5-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-9-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-10-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-7-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-8-ietf-operations-and-administration-plenary.pdf"
"2012-03-29","0800","1700","Registration","Hall Maillot A","","","","IETF Registration","r2902","",""
"2012-03-29","0800","0900","Break","Hall Maillot A","","","","Beverages","b2912","",""
"2012-03-29","0900","1130","Morning Session I","252A","APP","scim","WG","System for Cross-domain Identity Management","2286","http://www.ietf.org/proceedings/83/agenda/agenda-83-scim.txt","http://www.ietf.org/proceedings/83/slides/slides-83-scim-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-scim-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-scim-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-scim-1.pdf"
"2012-03-29","0900","1130","Morning Session I","253","INT","dhc","WG","Dynamic Host Configuration","2171","http://www.ietf.org/proceedings/83/agenda/agenda-83-dhc.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dhc-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-14.pdf"
"2012-03-29","0900","1130","Morning Session I","241","INT","dmm","WG","Distributed Mobility Management","22084","http://www.ietf.org/proceedings/83/agenda/agenda-83-dmm.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dmm-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-11.pdf"
"2012-03-29","0900","1130","Morning Session I","212/213","OPS","mboned","WG","MBONE Deployment","2185","http://www.ietf.org/proceedings/83/agenda/agenda-83-mboned.pptx","http://www.ietf.org/proceedings/83/slides/slides-83-mboned-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-10.pdf"
"2012-03-29","0900","1130","Morning Session I","Maillot","RAI","rtcweb","WG","Real-Time Communication in WEB-browsers","12192","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtcweb.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-5.pdf"
"2012-03-29","0900","1130","Morning Session I","242AB","RTG","pwe3","WG","Pseudowire Emulation Edge to Edge","2235","http://www.ietf.org/proceedings/83/agenda/agenda-83-pwe3.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-1.pdf"
"2012-03-29","0900","1130","Morning Session I","243","SEC","abfab","WG","Application Bridging for Federated Access Beyond web","2229","http://www.ietf.org/proceedings/83/agenda/agenda-83-abfab.txt","http://www.ietf.org/proceedings/83/slides/slides-83-abfab-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-4.pdf"
"2012-03-29","0900","1130","Morning Session I","252B","TSV","alto","WG","Application-Layer Traffic Optimization","2201","http://www.ietf.org/proceedings/83/agenda/agenda-83-alto.html","http://www.ietf.org/proceedings/83/slides/slides-83-alto-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-7.pdf"
"2012-03-29","1130","1300","Break","Hall Maillot A","","","","Break","b2908","",""
"2012-03-29","1300","1500","Afternoon Session I","253","APP","precis","WG","Preparation and Comparison of Internationalized Strings","2241","http://www.ietf.org/proceedings/83/agenda/agenda-83-precis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-precis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-5.pdf"
"2012-03-29","1300","1500","Afternoon Session I","Maillot","INT","intarea","WG","Internet Area Working Group","2262","http://www.ietf.org/proceedings/83/agenda/agenda-83-intarea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-intarea-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-8.pdf"
"2012-03-29","1300","1500","Afternoon Session I","212/213","IRTF","samrg","","Scalable Adaptive Multicast Research Group","2251","http://www.ietf.org/proceedings/83/agenda/agenda-83-samrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-samrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-2.pdf"
"2012-03-29","1300","1500","Afternoon Session I","243","RAI","xrblock","WG","Metric Blocks for use with RTCP's Extended Report Framework","2208","http://www.ietf.org/proceedings/83/agenda/agenda-83-xrblock.txt","http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-0.pdf"
"2012-03-29","1300","1500","Afternoon Session I","242AB","RTG","l2vpn","WG","Layer 2 Virtual Private Networks","2233","http://www.ietf.org/proceedings/83/agenda/agenda-83-l2vpn.txt","http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-1.pdf"
"2012-03-29","1300","1500","Afternoon Session I","241","RTG","manet","WG","Mobile Ad-hoc Networks","2186","http://www.ietf.org/proceedings/83/agenda/agenda-83-manet.txt","http://www.ietf.org/proceedings/83/slides/slides-83-manet-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-5.pdf"
"2012-03-29","1300","1500","Afternoon Session I","252A","SEC","oauth","WG","Web Authorization Protocol","2259","http://www.ietf.org/proceedings/83/agenda/agenda-83-oauth.txt","http://www.ietf.org/proceedings/83/slides/slides-83-oauth-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-oauth-1.pdf"
"2012-03-29","1300","1500","Afternoon Session I","252B","TSV","cdni","WG","Content Delivery Networks Interconnection","2260","http://www.ietf.org/proceedings/83/agenda/agenda-83-cdni.html","http://www.ietf.org/proceedings/83/slides/slides-83-cdni-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-9.pdf"
"2012-03-29","1500","1520","Break","Hall Maillot A","","","","Beverage Break","b2919","",""
"2012-03-29","1520","1720","Afternoon Session II","241","APP","httpbis","WG","Hypertext Transfer Protocol Bis","12238","http://www.ietf.org/proceedings/83/agenda/agenda-83-httpbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-5.pdf"
"2012-03-29","1520","1720","Afternoon Session II","252B","INT","lwig","WG","Light-Weight Implementation Guidance","2255","http://www.ietf.org/proceedings/83/agenda/agenda-83-lwig.txt","http://www.ietf.org/proceedings/83/slides/slides-83-lwig-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-1.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-4.pdf"
"2012-03-29","1520","1720","Afternoon Session II","243","OPS","dime","WG","Diameter Maintenance and Extensions","2179","http://www.ietf.org/proceedings/83/agenda/agenda-83-dime.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dime-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-4.pdf"
"2012-03-29","1520","1720","Afternoon Session II","Maillot","OPS","v6ops","WG","IPv6 Operations","12175","http://www.ietf.org/proceedings/83/agenda/agenda-83-v6ops.html","http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-13.pdf"
"2012-03-29","1520","1720","Afternoon Session II","212/213","RAI","drinks","WG","Data for Reachability of Inter/tra-NetworK SIP","2220","http://www.ietf.org/proceedings/83/agenda/agenda-83-drinks.txt","http://www.ietf.org/proceedings/83/slides/slides-83-drinks-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-5.pdf"
"2012-03-29","1520","1720","Afternoon Session II","242AB","RTG","rtgarea","","Routing Area Open Meeting","2163","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtgarea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-7.pdf"
"2012-03-29","1520","1720","Afternoon Session II","252A","SEC","emu","WG","EAP Method Update","2205","http://www.ietf.org/proceedings/83/agenda/agenda-83-emu.txt","http://www.ietf.org/proceedings/83/slides/slides-83-emu-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-7.pdf"
"2012-03-29","1520","1720","Afternoon Session II","253","TSV","decade","WG","Decoupled Application Data Enroute","2204","http://www.ietf.org/proceedings/83/agenda/agenda-83-decade.htm","http://www.ietf.org/proceedings/83/slides/slides-83-decade-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-5.pdf"
"2012-03-29","1720","1740","Break","Hall Maillot A","","","","Beverage and Snack Break II","b2918","",""
"2012-03-29","1740","1940","Afternoon Session III","252A","INT","mif","WG","Multiple Interfaces","2209","http://www.ietf.org/proceedings/83/agenda/agenda-83-mif.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mif-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-11.pdf"
"2012-03-29","1740","1940","Afternoon Session III","212/213","OPS","ipfix","WG","IP Flow Information Export","2165","http://www.ietf.org/proceedings/83/agenda/agenda-83-ipfix.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-13.pdf"
"2012-03-29","1740","1940","Afternoon Session III","Maillot","RAI","clue","WG","ControLling mUltiple streams for tElepresence","12194","http://www.ietf.org/proceedings/83/agenda/agenda-83-clue.html","http://www.ietf.org/proceedings/83/slides/slides-83-clue-6.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-4.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-5.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-clue-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-10.pdf"
"2012-03-29","1740","1940","Afternoon Session III","243","RAI","geopriv","WG","Geographic Location/Privacy","2217","http://www.ietf.org/proceedings/83/agenda/agenda-83-geopriv.txt","http://www.ietf.org/proceedings/83/slides/slides-83-geopriv-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-geopriv-1.pdf"
"2012-03-29","1740","1940","Afternoon Session III","241","RTG","pce","WG","Path Computation Element","2167","http://www.ietf.org/proceedings/83/agenda/agenda-83-pce.htm","http://www.ietf.org/proceedings/83/slides/slides-83-pce-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-9.pdf"
"2012-03-29","1740","1940","Afternoon Session III","252B","RTG","rtgwg","WG","Routing Area Working Group","2158","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtgwg.html","http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-11.pdf"
"2012-03-29","1740","1940","Afternoon Session III","242AB","SEC","saag","","Security Area Open Meeting","2219","http://www.ietf.org/proceedings/83/agenda/agenda-83-saag.txt","http://www.ietf.org/proceedings/83/slides/slides-83-saag-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-saag-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-saag-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-saag-3.pdf"
"2012-03-29","1740","1940","Afternoon Session III","253","TSV","conex","WG","Congestion Exposure","2215","http://www.ietf.org/proceedings/83/agenda/agenda-83-conex.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-conex-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-5.pdf"
"2012-03-30","0800","1100","Registration","Hall Maillot A","","","","IETF Registration","r2903","",""
"2012-03-30","0800","0900","Break","Hall Maillot A","","","","Beverages","b2913","",""
"2012-03-30","0900","1100","Morning Session I","253","APP","core","WG","Constrained RESTful Environments","12193","http://www.ietf.org/proceedings/83/agenda/agenda-83-core.txt","http://www.ietf.org/proceedings/83/slides/slides-83-core-0.pdf"
"2012-03-30","0900","1100","Morning Session I","252A","APP","spfbis","WG","SPF Update","2268","http://www.ietf.org/proceedings/83/agenda/agenda-83-spfbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-spfbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-spfbis-0.pdf"
"2012-03-30","0900","1100","Morning Session I","252B","INT","softwire","WG","Softwires","12195","http://www.ietf.org/proceedings/83/agenda/agenda-83-softwire.htm","http://www.ietf.org/proceedings/83/slides/slides-83-softwire-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-14.pdf"
"2012-03-30","0900","1100","Morning Session I","212/213","OPS","radext","WG","RADIUS EXTensions","2228","http://www.ietf.org/proceedings/83/agenda/agenda-83-radext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-radext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-radext-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-radext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-radext-2.pdf"
"2012-03-30","0900","1100","Morning Session I","243","RAI","siprec","WG","SIP Recording","2189","http://www.ietf.org/proceedings/83/agenda/agenda-83-siprec.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-siprec-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-2.pdf"
"2012-03-30","0900","1100","Morning Session I","Maillot","RTG","mpls","WG","Multiprotocol Label Switching","12188","http://www.ietf.org/proceedings/83/agenda/agenda-83-mpls.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mpls-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-25.pdf"
"2012-03-30","0900","1100","Morning Session I","242AB","TSV","cdni","WG","Content Delivery Networks Interconnection","12260","http://www.ietf.org/proceedings/83/agenda/agenda-83-cdni.html","http://www.ietf.org/proceedings/83/slides/slides-83-cdni-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-9.pdf"
"2012-03-30","0900","1100","Morning Session I","241","TSV","tcpm","WG","TCP Maintenance and Minor Extensions","2221","http://www.ietf.org/proceedings/83/agenda/agenda-83-tcpm.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-4.pdf"
"2012-03-30","1100","1120","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2917","",""
"2012-03-30","1120","1220","Afternoon Session I","253","APP","iri","WG","Internationalized Resource Identifiers","2266","http://www.ietf.org/proceedings/83/agenda/agenda-83-iri.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iri-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iri-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iri-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iri-3.pdf"
"2012-03-30","1120","1220","Afternoon Session I","243","GEN","rpsreqs","BOF","Remote Participation System Requirements","2287","http://www.ietf.org/proceedings/83/agenda/agenda-83-rpsreqs.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rpsreqs-0.pdf"
"2012-03-30","1120","1220","Afternoon Session I","242AB","INT","trill","WG","Transparent Interconnection of Lots of Links","12174","http://www.ietf.org/proceedings/83/agenda/agenda-83-trill.txt","http://www.ietf.org/proceedings/83/slides/slides-83-trill-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-9.pdf"
"2012-03-30","1120","1220","Afternoon Session I","212/213","IRTF","cfrg","","Crypto Forum Research Group","2270","http://www.ietf.org/proceedings/83/agenda/agenda-83-cfrg.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-7.txt"
"2012-03-30","1120","1220","Afternoon Session I","Maillot","OPS","dnsop","WG","Domain Name System Operations","2224","http://www.ietf.org/proceedings/83/agenda/agenda-83-dnsop.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-5.pdf"
"2012-03-30","1120","1220","Afternoon Session I","241","RAI","bfcpbis","WG","Binary Floor Control Protocol Bis ","2213","http://www.ietf.org/proceedings/83/agenda/agenda-83-bfcpbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-bfcpbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfcpbis-1.pdf"
"2012-03-30","1120","1220","Afternoon Session I","252A","RAI","codec","WG","Internet Wideband Audio Codec","2191","http://www.ietf.org/proceedings/83/agenda/agenda-83-codec.txt","http://www.ietf.org/proceedings/83/slides/slides-83-codec-0.gz"
"2012-03-30","1120","1220","Afternoon Session I","252B","TSV","mptcp","WG","Multipath TCP","2232","http://www.ietf.org/proceedings/83/agenda/agenda-83-mptcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-1.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-4.pdf"
"2012-03-30","1230","1330","Afternoon Session II","243","GEN","rpsreqs","BOF","Remote Participation System Requirements","2287","http://www.ietf.org/proceedings/83/agenda/agenda-83-rpsreqs.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rpsreqs-0.pdf"
"2012-03-30","1230","1330","Afternoon Session II","212/213","IRTF","cfrg","","Crypto Forum Research Group","2270","http://www.ietf.org/proceedings/83/agenda/agenda-83-cfrg.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-7.txt"
"2012-03-30","1230","1330","Afternoon Session II","242AB","OPS","grow","WG","Global Routing Operations","2267","http://www.ietf.org/proceedings/83/agenda/agenda-83-grow.txt","http://www.ietf.org/proceedings/83/slides/slides-83-grow-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-grow-1.pdf"
"2012-03-30","1230","1330","Afternoon Session II","253","RAI","atoca","WG","Authority-to-Citizen Alert","2239","http://www.ietf.org/proceedings/83/agenda/agenda-83-atoca.txt","http://www.ietf.org/proceedings/83/slides/slides-83-atoca-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-atoca-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-atoca-1.pdf"
"2012-03-30","1230","1330","Afternoon Session II","241","RAI","cuss","WG","Call Control UUI Service for SIP","2200","http://www.ietf.org/proceedings/83/agenda/agenda-83-cuss.html","http://www.ietf.org/proceedings/83/slides/slides-83-cuss-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cuss-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cuss-3.pdf"
"2012-03-30","1230","1330","Afternoon Session II","252B","TSV","mptcp","WG","Multipath TCP","2232","http://www.ietf.org/proceedings/83/agenda/agenda-83-mptcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-1.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-4.pdf"

File diff suppressed because it is too large Load diff

View file

@ -1,385 +0,0 @@
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
PRODID:-//IETF//datatracker.ietf.org ical agenda//EN
BEGIN:VTIMEZONE
TZID:Europe/Paris
X-LIC-LOCATION:Europe/Paris
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+000921
TZOFFSETTO:+000921
TZNAME:PMT
DTSTART:18910315T000100
RDATE:18910315T000100
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+000921
TZOFFSETTO:+0000
TZNAME:WET
DTSTART:19110311T000100
RDATE:19110311T000100
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:WEST
DTSTART:19160614T230000
RDATE:19160614T230000
RDATE:19170324T230000
RDATE:19180309T230000
RDATE:19190301T230000
RDATE:19200214T230000
RDATE:19210314T230000
RDATE:19220325T230000
RDATE:19230526T230000
RDATE:19240329T230000
RDATE:19250404T230000
RDATE:19260417T230000
RDATE:19270409T230000
RDATE:19280414T230000
RDATE:19290420T230000
RDATE:19300412T230000
RDATE:19310418T230000
RDATE:19320402T230000
RDATE:19330325T230000
RDATE:19340407T230000
RDATE:19350330T230000
RDATE:19360418T230000
RDATE:19370403T230000
RDATE:19380326T230000
RDATE:19390415T230000
RDATE:19400225T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
TZNAME:WET
DTSTART:19161002T000000
RDATE:19161002T000000
RDATE:19171008T000000
RDATE:19181007T000000
RDATE:19191006T000000
RDATE:19201024T000000
RDATE:19211026T000000
RDATE:19221008T000000
RDATE:19231007T000000
RDATE:19241005T000000
RDATE:19251004T000000
RDATE:19261003T000000
RDATE:19271002T000000
RDATE:19281007T000000
RDATE:19291006T000000
RDATE:19301005T000000
RDATE:19311004T000000
RDATE:19321002T000000
RDATE:19331008T000000
RDATE:19341007T000000
RDATE:19351006T000000
RDATE:19361004T000000
RDATE:19371003T000000
RDATE:19381002T000000
RDATE:19391119T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19400614T230000
RDATE:19400614T230000
RDATE:19430329T020000
RDATE:19440403T020000
RDATE:19760328T010000
RDATE:19770403T020000
RDATE:19780402T020000
RDATE:19790401T020000
RDATE:19800406T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19421102T030000
RDATE:19421102T030000
RDATE:19431004T030000
RDATE:19450916T030000
RDATE:19760926T010000
RDATE:19770925T030000
RDATE:19781001T030000
RDATE:19790930T030000
RDATE:19800928T030000
RDATE:19810927T030000
RDATE:19820926T030000
RDATE:19830925T030000
RDATE:19840930T030000
RDATE:19850929T030000
RDATE:19860928T030000
RDATE:19870927T030000
RDATE:19880925T030000
RDATE:19890924T030000
RDATE:19900930T030000
RDATE:19910929T030000
RDATE:19920927T030000
RDATE:19930926T030000
RDATE:19940925T030000
RDATE:19950924T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
TZNAME:WEMT
DTSTART:19440825T000000
RDATE:19440825T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:WEST
DTSTART:19441008T010000
RDATE:19441008T010000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:WEMT
DTSTART:19450402T020000
RDATE:19450402T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19770101T000000
RDATE:19770101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:ietf-83-2923
SUMMARY:Code Sprint
LOCATION:Hall Maillot A
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120324T093000
DTEND;TZID="Europe/Paris":20120324T180000
DTSTAMP:20120305T111518Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2514
SUMMARY:IEPG Meeting
LOCATION:241
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T100000
DTEND;TZID="Europe/Paris":20120325T120000
DTSTAMP:20120224T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2503
SUMMARY:Meetecho Tutorial for Participants and WG Chairs
LOCATION:252A
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T130000
DTEND;TZID="Europe/Paris":20120325T145000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2500
SUMMARY:Newcomers' Orientation
LOCATION:252B
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T130000
DTEND;TZID="Europe/Paris":20120325T145000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2499
SUMMARY:Tools for Creating Internet-Drafts Tutorial
LOCATION:241
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T130000
DTEND;TZID="Europe/Paris":20120325T145000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2502
SUMMARY:Newcomers' Orientation (French)
LOCATION:252B
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T150000
DTEND;TZID="Europe/Paris":20120325T165000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2501
SUMMARY:Operations\, Administration\, and Maintenance Tutorial
LOCATION:241
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T150000
DTEND;TZID="Europe/Paris":20120325T165000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2505
SUMMARY:Newcomers' Meet and Greet (open to Newcomers and WG chairs only)
LOCATION:Salon Etoile d'Or (Concorde Hotel)
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T160000
DTEND;TZID="Europe/Paris":20120325T170000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2504
SUMMARY:Welcome Reception
LOCATION:Hall Maillot A
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120325T170000
DTEND;TZID="Europe/Paris":20120325T190000
DTSTAMP:20120223T000000Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2498
SUMMARY:Technical Plenary
LOCATION:Amphitheatre Bleu
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120326T163000
DTEND;TZID="Europe/Paris":20120326T193000
DTSTAMP:20120223T000000Z
URL:http://www.ietf.org/proceedings/83/agenda/agenda-83-iab-technical-plenary
DESCRIPTION:Technical Plenary\n
\nAgenda:
http://www.ietf.org/proceedings/83/agenda/agenda-83-iab-technical-plenary\n
\nMinutes
(Minutes for IAB at IETF-83):
http://www.ietf.org/proceedings/83/minutes/minutes-83-iab-technical-plenary\n
\nSlides
(Agenda):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-0-technical-plenary.pdf\n
\nSlides
(IAB Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-1-technical-plenary.pdf\n
\nSlides
(Lessons Learned from WebSockets):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-10-technical-plenary.pdf\n
\nSlides
(Cryptography Infrastructure):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-11-technical-plenary.pdf\n
\nSlides
(It's Not the End of the World):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-12-technical-plenary.pdf\n
\nSlides
(Plenary Transcript (unedited)):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-13-technical-plenary.txt\n
\nSlides
(Technical Plenary Agenda):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-2-technical-plenary.pdf\n
\nSlides
(RSE Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-3.pdf\n
\nSlides
(IAB Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-4.pdf\n
\nSlides
(World IPv6 Launch):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-5-technical-plenary.pdf\n
\nSlides
(IRTF Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-6-technical-plenary.pdf\n
\nSlides
(Agenda: Implementation Challenges for Browser Security):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-7-technical-plenary.pdf\n
\nSlides
(When Good Standards Go Bad):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-8-technical-plenary.pdf\n
\nSlides
(How do we get to TLS Everywhere?):
http://www.ietf.org/proceedings/83/slides/slides-83-iab-9-technical-plenary.pdf\n
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2926
SUMMARY:Working Group Chairs' Training
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120328T113000
DTEND;TZID="Europe/Paris":20120328T130000
DTSTAMP:20120328T095200Z
END:VEVENT
BEGIN:VEVENT
UID:ietf-83-2497
SUMMARY:IETF Operations and Administration Plenary
LOCATION:Amphitheatre Bleu
STATUS:CONFIRMED
CLASS:PUBLIC
DTSTART;TZID="Europe/Paris":20120328T163000
DTEND;TZID="Europe/Paris":20120328T193000
DTSTAMP:20120223T000000Z
URL:http://www.ietf.org/proceedings/83/agenda/agenda-83-iesg-ietf-operations-and-administration-plenary
DESCRIPTION:IETF Operations and Administration Plenary\n
\nAgenda:
http://www.ietf.org/proceedings/83/agenda/agenda-83-iesg-ietf-operations-and-administration-plenary\n
\nAgenda:
http://www.ietf.org/proceedings/83/agenda/agenda-83-none-ietf-operations-and-administration-plenary\n
\nMinutes
(Minutes for IESG at IETF-83):
http://www.ietf.org/proceedings/83/minutes/minutes-83-iesg-ietf-operations-and-administration-plenary\n
\nSlides
(NOTE WELL):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-0-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(Agenda):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-1-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(ISOC Activities Status Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-10-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(NOC Report Part 2):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-11-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(Host Presentation: Cisco):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-12-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(IETF Chair Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-2-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(NOC Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-3-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(IAOC and IAD Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-4-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(IETF Trust Chair Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-5-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(ISOC Activities Status Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-6-ietf-operations-and-administration-plenary.ppt\n
\nSlides
(Recognize Outgoing IAB\, IESG\, and IAOC Members):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-7-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(IETF Logo -- Open Mic):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-8-ietf-operations-and-administration-plenary.pdf\n
\nSlides
(NomCom Chair Report):
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-9-ietf-operations-and-administration-plenary.pdf\n
END:VEVENT
END:VCALENDAR

View file

@ -1,288 +0,0 @@
Agenda of the 83rd IETF Meeting
March 25-30, 2012
Updated 2012-03-28 09:52:00 PDT
IETF agendas are subject to change, up to and during the meeting.
SATURDAY, March 24, 2012
0930-1800 Code Sprint - Hall Maillot A
SUNDAY, March 25, 2012
1000-1200 IEPG Meeting - 241
1100-1900 IETF Registration - Hall Maillot A
1130-1300 Break - Hall Maillot A
1300-1450 Meetecho Tutorial for Participants and WG Chairs - 252A
1300-1450 Newcomers' Orientation - 252B
1300-1450 Tools for Creating Internet-Drafts Tutorial - 241
1500-1650 Newcomers' Orientation (French) - 252B
1500-1650 Operations, Administration, and Maintenance Tutorial - 241
1600-1700 Newcomers' Meet and Greet (open to Newcomers and WG chairs only) - Salon Etoile d'Or (Concorde Hotel)
1700-1900 Welcome Reception - Hall Maillot A
MONDAY, March 26, 2012
0800-1800 IETF Registration - Hall Maillot A
0800-0900 Beverages - Hall Maillot A
0900-1130 Morning Session I
252B APP appsawg Applications Area Working Group WG - Combined with APPAREA
252A INT multimob Multicast Mobility WG
212/213 INT tictoc Timing over IP Connection and Transfer of Clock WG
241 INT trill Transparent Interconnection of Lots of Links WG
253 IRTF ncrg Network Complexity Research Group
Maillot OPS v6ops IPv6 Operations WG
243 RAI mmusic Multiparty Multimedia Session Control WG
242AB RTG idr Inter-Domain Routing WG
1130-1300 Break - Hall Maillot A
1300-1500 Afternoon Session I
212/213 APP eai Email Address Internationalization WG - CANCELED
242AB APP websec Web Security WG
212/213 IRTF mobopts IP Mobility Optimizations Research Group - Room Changed From 252A
243 OPS netmod NETCONF Data Modeling Language WG
252B RAI avtcore Audio/Video Transport Core Maintenance WG
Maillot RTG ccamp Common Control and Measurement Plane WG
241 RTG sidr Secure Inter-Domain Routing WG
252A TSV i2aex Infrastructure-to-Application Information Exposure BOF - Room Changed From 241
253 TSV ippm IP Performance Metrics WG
1510-1610 Afternoon Session II
243 APP urnbis Uniform Resource Names, Revised WG
Maillot INT pcp Port Control Protocol WG
242AB OPS opsec Operational Security Capabilities for IP Network Infrastructure WG
252B RAI avtcore Audio/Video Transport Core Maintenance WG
241 RAI insipid INtermediary-safe SIP session ID WG
253 RTG forces Forwarding and Control Element Separation WG
252A SEC ipsecme IP Security Maintenance and Extensions WG
212/213 TSV rmt Reliable Multicast Transport WG
1610-1630 Beverage and Snack Break I - Hall Maillot A
1630-1930 Technical Plenary - Amphitheatre Bleu
1630 - 1930 Technical Plenary
1630 - 1700 Welcome
1. Welcome - Bernard Aboba
2. IRTF Chair's Report - Lars Eggert
3. IAB Chair's Report - Bernard Aboba
4. RSOC Report - Fred Baker & Heather Flanagan
1700 - 1715 World IPv6 Launch - Leslie Daigle
1715 - 1915 Technical Session: "Implementation Challenges with Browser Security"
Hannes Tschofenig: Introduction
Eric Rescorla: "How do we get to TLS Everywhere?"
Tom Lowenthal: "Cryptography Infrastructure"
Chris Weber: "When Good Standards Go Bad"
Ian Fette: "Lessons Learned from WebSockets (RFC 6455)"
Jeff Hodges: "It's Not the End of the World"
1915 - 1930 IAB Open Microphone Session
1930 Adjourn
TUESDAY, March 27, 2012
0800-1800 IETF Registration - Hall Maillot A
0800-0900 Beverages - Hall Maillot A
0900-1130 Morning Session I
243 APP core Constrained RESTful Environments WG
252A GEN antitrust Does the IETF Need an Anti-Trust Policy BOF
Maillot INT 6man IPv6 Maintenance WG
241 IRTF dtnrg Delay-Tolerant Networking Research Group
252B RAI clue ControLling mUltiple streams for tElepresence WG
242AB RTG mpls Multiprotocol Label Switching WG
212/213 SEC pkix Public-Key Infrastructure (X.509) WG
253 TSV tsvwg Transport Area Working Group WG
1130-1300 Break - Hall Maillot A
1300-1500 Afternoon Session I
252A APP httpbis Hypertext Transfer Protocol Bis WG
252B INT pcp Port Control Protocol WG
212/213 OPS bmwg Benchmarking Methodology WG
241 OPS eman Energy Management WG
Maillot RAI dispatch Dispatch WG
242AB RTG ospf Open Shortest Path First IGP WG
243 RTG pim Protocol Independent Multicast WG
253 SEC kitten Common Authentication Technology Next Generation WG - Combined with KRB-WG
253 SEC krb-wg Kerberos WG - Combined with KITTEN
1500-1520 Beverage and Snack Break I - Hall Maillot A
1520-1700 Afternoon Session II
243 APP weirds Web Extensible Internet Registration Data Service WG
212/213 INT ancp Access Node Control Protocol WG
252B INT lisp Locator/ID Separation Protocol WG
252A IRTF iccrg Internet Congestion Control Research Group
242AB OPS 6renum IPv6 Site Renumbering WG
Maillot RAI avtext Audio/Video Transport Extensions WG
253 RAI vipr Verification Involving PSTN Reachability WG
241 SEC jose Javascript Object Signing and Encryption WG
1710-1810 Afternoon Session III
212/213 APP marf Messaging Abuse Reporting Format WG
1710-1810
Maillot GEN rfcform RFC Format Design Team Update BOF
1710-1810 Afternoon Session III
242AB INT dnsext DNS Extensions WG
252A IRTF iccrg Internet Congestion Control Research Group
243 OPS netconf Network Configuration WG
252B RAI sipcore Session Initiation Protocol Core WG
241 RTG isis IS-IS for IP Internets WG
253 SEC mile Managed Incident Lightweight Exchange WG
WEDNESDAY, March 28, 2012
0800-1700 IETF Registration - Hall Maillot A
0800-0900 Beverages - Hall Maillot A
0900-1130 Morning Session I
243 APP paws Protocol to Access WS database WG
242AB INT homenet Home Networking WG
253 OPS opsarea Operations & Management Area Open Meeting - Combined with OPSAWG
0900-1130 Afternoon Session I
253 OPS opsawg Operations and Management Area Working Group WG - Combined with OPSAREA
0900-1130 Morning Session I
252B RAI rtcweb Real-Time Communication in WEB-browsers WG
Maillot RTG ccamp Common Control and Measurement Plane WG
241 RTG sidr Secure Inter-Domain Routing WG
212/213 TSV nfsv4 Network File System Version 4 WG
252A TSV ppsp Peer to Peer Streaming Protocol WG
1130-1300 Break - Hall Maillot A
1130-1300 Working Group Chairs' Lunch Tutorial - 252B
1300-1500 Afternoon Session I
252B APP hybi BiDirectional or Server-Initiated HTTP WG
243 APP repute Reputation Services WG
253 INT netext Network-Based Mobility Extensions WG
252A RAI ecrit Emergency Context Resolution with Internet Technologies WG
242AB RTG karp Keying and Authentication for Routing Protocols WG
Maillot RTG nvo3 Network Virtualization Overlays WG
241 RTG roll Routing Over Low power and Lossy networks WG
212/213 SEC nea Network Endpoint Assessment WG
1510-1610 Afternoon Session II
242AB INT softwire Softwires WG
Maillot OPS armd Address Resolution for Massive numbers of hosts in the Data center WG
241 RAI p2psip Peer-to-Peer Session Initiation Protocol WG
252A RAI soc SIP Overload Control WG
253 RAI xmpp Extensible Messaging and Presence Protocol WG
252B RTG bfd Bidirectional Forwarding Detection WG
243 SEC tls Transport Layer Security WG
212/213 TSV pcn Congestion and Pre-Congestion Notification WG
1610-1630 Beverage and Snack Break I - Hall Maillot A
1630-1930 IETF Operations and Administration Plenary - Amphitheatre Bleu
Administrative and Management Plenary
1. Welcome
2. Host Presentation
3. Reporting
- IETF Chair Report
- NOC Report
- IAOC Chair & IAD Reports
- Trust Chair Report
- NomCom Chair Report
4. Open Internet Endowment Status Report
5. Thank Outgoing IAB, IAOC, and IESG Members
6. Introduce Incoming IAOC Members
7. IAOC Open Mic
8. Introduce Incoming IESG Members
9. IESG Open Mic
THURSDAY, March 29, 2012
0800-1700 IETF Registration - Hall Maillot A
0800-0900 Beverages - Hall Maillot A
0900-1130 Morning Session I
252A APP scim System for Cross-domain Identity Management WG
253 INT dhc Dynamic Host Configuration WG
241 INT dmm Distributed Mobility Management WG
212/213 OPS mboned MBONE Deployment WG
Maillot RAI rtcweb Real-Time Communication in WEB-browsers WG
242AB RTG pwe3 Pseudowire Emulation Edge to Edge WG
243 SEC abfab Application Bridging for Federated Access Beyond web WG
252B TSV alto Application-Layer Traffic Optimization WG
1130-1300 Break - Hall Maillot A
1300-1500 Afternoon Session I
253 APP precis Preparation and Comparison of Internationalized Strings WG
Maillot INT intarea Internet Area Working Group WG
212/213 IRTF samrg Scalable Adaptive Multicast Research Group
243 RAI xrblock Metric Blocks for use with RTCP's Extended Report Framework WG
242AB RTG l2vpn Layer 2 Virtual Private Networks WG
241 RTG manet Mobile Ad-hoc Networks WG
252A SEC oauth Web Authorization Protocol WG
252B TSV cdni Content Delivery Networks Interconnection WG
1500-1520 Beverage Break - Hall Maillot A
1520-1720 Afternoon Session II
241 APP httpbis Hypertext Transfer Protocol Bis WG
252B INT lwig Light-Weight Implementation Guidance WG
243 OPS dime Diameter Maintenance and Extensions WG
Maillot OPS v6ops IPv6 Operations WG
212/213 RAI drinks Data for Reachability of Inter/tra-NetworK SIP WG
242AB RTG rtgarea Routing Area Open Meeting
252A SEC emu EAP Method Update WG
253 TSV decade Decoupled Application Data Enroute WG
1720-1740 Beverage and Snack Break II - Hall Maillot A
1740-1940 Afternoon Session III
252A INT mif Multiple Interfaces WG
212/213 OPS ipfix IP Flow Information Export WG
Maillot RAI clue ControLling mUltiple streams for tElepresence WG
243 RAI geopriv Geographic Location/Privacy WG
241 RTG pce Path Computation Element WG
252B RTG rtgwg Routing Area Working Group WG
242AB SEC saag Security Area Open Meeting
253 TSV conex Congestion Exposure WG
FRIDAY, March 30, 2012
0800-1100 IETF Registration - Hall Maillot A
0800-0900 Beverages - Hall Maillot A
0900-1100 Morning Session I
253 APP core Constrained RESTful Environments WG
252A APP spfbis SPF Update WG
252B INT softwire Softwires WG
212/213 OPS radext RADIUS EXTensions WG
243 RAI siprec SIP Recording WG
Maillot RTG mpls Multiprotocol Label Switching WG
242AB TSV cdni Content Delivery Networks Interconnection WG
241 TSV tcpm TCP Maintenance and Minor Extensions WG
1100-1120 Beverage and Snack Break I - Hall Maillot A
1120-1220 Afternoon Session I
253 APP iri Internationalized Resource Identifiers WG
243 GEN rpsreqs Remote Participation System Requirements BOF
242AB INT trill Transparent Interconnection of Lots of Links WG
212/213 IRTF cfrg Crypto Forum Research Group
Maillot OPS dnsop Domain Name System Operations WG
241 RAI bfcpbis Binary Floor Control Protocol Bis WG
252A RAI codec Internet Wideband Audio Codec WG - CANCELED
252B TSV mptcp Multipath TCP WG
1230-1330 Afternoon Session II
243 GEN rpsreqs Remote Participation System Requirements BOF
212/213 IRTF cfrg Crypto Forum Research Group
242AB OPS grow Global Routing Operations WG
253 RAI atoca Authority-to-Citizen Alert WG
241 RAI cuss Call Control UUI Service for SIP WG
252B TSV mptcp Multipath TCP WG
====================================================================

View file

@ -1,97 +0,0 @@
import sys
from ietf.meeting.tests.ttest import AgendaTransactionalTestCase
from ietf.utils import TestCase
from ietf.name.models import SessionStatusName
from ietf.person.models import Person
from ietf.group.models import Group
from ietf.meeting.models import TimeSlot, Session, Meeting, ScheduledSession
from ietf.meeting.helpers import get_meeting, get_schedule
import debug
class AgendaInfoTestCase(TestCase):
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
perma_fixtures = [ 'meeting83.json',
'constraint83.json',
'workinggroups.json',
'groupgroup.json',
'person.json', 'users.json' ]
def test_SessionUnicode(self):
m1 = get_meeting("83")
g1 = Group.objects.get(acronym = "pkix")
p1 = Person.objects.get(pk = 5376) # Russ Housley
st1 = SessionStatusName.objects.get(slug = "appr")
s1 = m1.session_set.create(name = "newone", group = g1, requested_by = p1, status = st1)
self.assertEqual(s1.__unicode__(), "IETF-83: pkix (unscheduled)[22090]")
# this tests that a slot at 11:20 AM on Friday, has slot 10 minutes later
# after it
def test_TimeSlot2408_has_SlotToTheRight(self):
ss2408 = ScheduledSession.objects.get(pk = 2408)
self.assertTrue(ss2408.slot_to_the_right)
# this tests that a slot 9-11:30am on Wednesday, has no following slot,
# as the slot purpose to the right is non-session.
def test_TimeSlot2517_hasno_SlotToTheRight(self):
ss2517 = ScheduledSession.objects.get(pk = 2517)
self.assertFalse(ss2517.slot_to_the_right)
# this tests that a slot 13:00-15:00 on Tuesday has no following slot,
# as the gap to the next slot (at 15:20) is too long (there is a break)
def test_TimeSlot2418_hasno_SlotToTheRight(self):
ss2418 = ScheduledSession.objects.get(pk = 2418)
self.assertFalse(ss2418.slot_to_the_right)
def test_DoNotGetSchedule(self):
from django.http import Http404
num = '83'
from ietf.meeting.views import get_meeting, get_schedule
meeting = get_meeting(num)
try:
na = get_schedule(meeting, "none:83")
except Http404:
False
def test_GetSchedule(self):
num = '83'
from ietf.meeting.views import get_meeting, get_schedule
meeting = get_meeting(num)
na = get_schedule(meeting, "mtg:83")
self.assertIsNotNone(na)
def test_sessionstr(self):
num = '83'
from ietf.meeting.views import get_meeting
meeting = get_meeting(num)
session1= Session.objects.get(pk=2157)
self.assertEqual(session1.__unicode__(), u"IETF-83: pkix 0900[2157]")
def test_sessionstr_interim(self):
"""
Need a fixture for a meeting that is interim
"""
pass
def test_serialize_constraint(self):
session1 = Session.objects.get(pk=2157)
host_scheme = "http://datatracker.ietf.org"
json_dict = session1.constraints_dict(host_scheme)
self.assertEqual(len(json_dict), 25)
def test_avtcore_has_two_slots(self):
mtg83 = get_meeting(83)
sch83 = get_schedule(mtg83, "mtg:83")
avtcore = mtg83.session_set.get(group__acronym='avtcore')
self.assertEqual(avtcore.pk, 2216) # sanity check
self.assertEqual(len(avtcore.scheduledsession_set.filter(schedule = sch83)), 2)
def test_clue_has_ad_present(self):
mtg83 = get_meeting(83)
clue83 = mtg83.session_set.filter(group__acronym='clue')[0]
is_present = clue83.people_constraints
self.assertIsNotNone(is_present, "why is constraint list none")
self.assertEqual(len(is_present), 3)

View file

@ -1,618 +0,0 @@
import base64
import sys, datetime
import json
from ietf.utils import TestCase
from ietf.person.models import Person
from django.contrib.auth.models import User
from ietf.meeting.models import TimeSlot, Session, ScheduledSession, Meeting
from ietf.ietfauth.utils import has_role
from auths import auth_joeblow, auth_wlo, auth_ietfchair, auth_ferrel
from ietf.meeting.helpers import get_meeting
import debug
class ApiTestCase(TestCase):
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
perma_fixtures = [
'meeting83.json',
'constraint83.json',
'workinggroups.json',
'groupgroup.json',
'person.json', 'users.json' ]
def test_noAuthenticationUpdateAgendaItem(self):
ts_one = TimeSlot.objects.get(pk=2371)
ts_two = TimeSlot.objects.get(pk=2372)
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old timeslot value
self.assertEqual(ss_one.timeslot, ts_one)
# move this session from one timeslot to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "session_id":"%u", "scheduledsession_id":"2372"}' % (ss_one.schedule.id,ts_one.id)
})
# confirm that without login, it does not have new value
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.timeslot, ts_one)
def test_noAuthorizationUpdateAgendaItem(self):
ts_one = TimeSlot.objects.get(pk=2371)
ts_two = TimeSlot.objects.get(pk=2372)
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old scheduledsession value
self.assertEqual(ss_one.timeslot, ts_one)
# move this session from one scheduledsession to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u","session_id":"%u" }' % (ss_one.schedule.id, ts_two.id, ss_one.session.id)
}, **auth_ferrel)
# confirm that without login, it does not have new value
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.timeslot, ts_one)
def test_wrongAuthorizationUpdateAgendaItem(self):
s2157 = Session.objects.get(pk=2157)
ss_one = ScheduledSession.objects.get(pk=2371)
ss_two = ScheduledSession.objects.get(pk=2372)
old_two_s = ss_two.session
# confirm that it has old timeslot value
self.assertEqual(ss_one.session, s2157)
# move this session from one scheduledsession to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "session_id":"%u"}' % (ss_one.schedule.id, ss_two.id, s2157.id)
}, **auth_joeblow)
# confirm that without login, it does not have new value
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.session, s2157)
# confirm that the new scheduledsession has not changed.
ss_two = ScheduledSession.objects.get(pk=2372)
self.assertEqual(ss_two.session, old_two_s)
def test_wloUpdateAgendaItem(self):
s2157 = Session.objects.get(pk=2157)
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old session value
self.assertEqual(ss_one.session, s2157)
ss_two = ScheduledSession.objects.get(pk=2372)
self.assertNotEqual(ss_two.session, s2157)
# move this session from one timeslot to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "session_id":"%u"}' % (ss_one.schedule.id, ss_two.id, s2157.id)
}, **auth_wlo)
# confirm that it new scheduledsession object has new session.
ss_two = ScheduledSession.objects.get(pk=2372)
self.assertEqual(ss_two.session, s2157)
# confirm that it old scheduledsession object has no session.
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.session, None)
def test_wloUpdateAgendaItemToUnscheduled(self):
s2157 = Session.objects.get(pk=2157)
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old scheduledsession value
self.assertEqual(ss_one.session, s2157)
# move this session from one timeslot to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "session_id":"%u", "scheduledsession_id":"0"}' % (ss_one.schedule.id,s2157.id)
}, **auth_wlo)
# confirm that it old scheduledsession object now has no session.
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.session, None)
def test_wloUpdateAgendaItemToNone(self):
s2157 = Session.objects.get(pk=2157)
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old timeslot value
self.assertEqual(ss_one.session, s2157)
# move this session from one timeslot to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "session_id":"%u"}' % (ss_one.schedule.id,s2157.id)
}, **auth_wlo)
# confirm that it old scheduledsession object has no session.
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.session, None)
def test_chairUpdateAgendaItemFails(self):
s2157 = Session.objects.get(pk=2157)
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old timeslot value
self.assertEqual(ss_one.session, s2157)
# confirm that the slot was none empty.
ss_two_saved = ScheduledSession.objects.get(pk=2372)
# move this session from one timeslot to another.
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': '{"schedule_id":"%u", "session_id":"%u", "scheduledsession_id":"%u"}' % (ss_one.schedule.id,s2157.id, ss_two_saved.id)
}, **auth_ietfchair)
# confirm that it new scheduledsession object has no new session.
ss_two = ScheduledSession.objects.get(pk=2372)
self.assertEqual(ss_two, ss_two_saved)
# confirm that it old scheduledsession object still has old session.
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.session, s2157)
def test_anyoneGetConflictInfo(self):
s2157 = Session.objects.get(pk=2157)
# confirm that a constraint json is generated properly
resp = self.client.get('/meeting/83/session/2157/constraints.json')
conflicts = json.loads(resp.content)
self.assertNotEqual(conflicts, None)
def test_conflictInfoIncludesPeople(self):
mtg83 = get_meeting(83)
clue83 = mtg83.session_set.filter(group__acronym='clue')[0]
# retrive some json that shows the conflict for this session.
resp = self.client.get("/meeting/83/session/%u/constraints.json" % (clue83.pk))
conflicts = json.loads(resp.content)
self.assertNotEqual(conflicts, None)
self.assertEqual(len(conflicts), 39)
def test_getMeetingInfoJson(self):
resp = self.client.get('/meeting/83.json')
mtginfo = json.loads(resp.content)
self.assertNotEqual(mtginfo, None)
def test_getRoomJson(self):
mtg83 = get_meeting(83)
rm243 = mtg83.room_set.get(name = '243')
resp = self.client.get('/meeting/83/room/%s.json' % rm243.pk)
rm243json = json.loads(resp.content)
self.assertNotEqual(rm243json, None)
def test_createNewRoomNonSecretariat(self):
mtg83 = get_meeting(83)
rm221 = mtg83.room_set.filter(name = '221')
self.assertEqual(len(rm221), 0)
# try to create a new room.
self.client.post('/meeting/83/rooms', {
'name' : '221',
'capacity': 50,
}, **auth_joeblow)
# see that in fact the room was not created
rm221 = mtg83.room_set.filter(name = '221')
self.assertEqual(len(rm221), 0)
def test_createNewRoomSecretariat(self):
mtg83 = get_meeting(83)
rm221 = mtg83.room_set.filter(name = '221')
self.assertEqual(len(rm221), 0)
timeslots = mtg83.timeslot_set.all()
timeslot_initial_len = len(timeslots)
self.assertTrue(timeslot_initial_len>0)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# try to create a new room
self.client.post('/meeting/83/rooms', {
'name' : '221',
'capacity': 50,
}, **extra_headers)
# see that in fact wlo can create a new room.
rm221 = mtg83.room_set.filter(name = '221')
self.assertEqual(len(rm221), 1)
timeslots = mtg83.timeslot_set.all()
timeslot_final_len = len(timeslots)
self.assertEqual((timeslot_final_len - timeslot_initial_len), 26)
def test_deleteNewRoomSecretariat(self):
mtg83 = get_meeting(83)
rm243 = mtg83.room_set.get(name = '243')
slotcount = len(rm243.timeslot_set.all())
self.assertNotEqual(rm243, None)
timeslots = mtg83.timeslot_set.all()
timeslot_initial_len = len(timeslots)
self.assertTrue(timeslot_initial_len>0)
# try to delete a new room
self.client.delete('/meeting/83/room/%s.json' % (rm243.pk), **auth_wlo)
# see that in fact wlo can delete an existing room.
rm243 = mtg83.room_set.filter(name = '243')
self.assertEqual(len(rm243), 0)
timeslots = mtg83.timeslot_set.all()
timeslot_final_len = len(timeslots)
self.assertEqual((timeslot_final_len-timeslot_initial_len), -slotcount)
def test_getGroupInfoJson(self):
resp = self.client.get('/group/pkix.json')
#print "json: %s" % (resp.content)
mtginfo = json.loads(resp.content)
self.assertNotEqual(mtginfo, None)
def test_getPersonInfoJson(self):
# 491 is Adrian Ferrel, an AD
af = User.objects.filter(pk = 491)[0]
person = af.person
resp = self.client.get('/person/%u.json' % (person.pk))
#print "json: %s" % (resp.content)
pinfo = json.loads(resp.content)
self.assertNotEqual(pinfo, None)
def test_getSlotJson(self):
mtg83 = get_meeting(83)
slot0 = mtg83.timeslot_set.all()[0]
resp = self.client.get('/meeting/83/timeslot/%s.json' % slot0.pk)
slot0json = json.loads(resp.content)
self.assertNotEqual(slot0json, None)
def test_createNewSlotNonSecretariat(self):
mtg83 = get_meeting(83)
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
self.assertEqual(len(slot23), 0)
# try to create a new room.
resp = self.client.post('/meeting/83/timeslots', {
'type' : 'plenary',
'name' : 'Workshop on Smart Object Security',
'time' : '2012-03-23',
'duration_days' : 0,
'duration_hours': 8,
'duration_minutes' : 0,
'duration_seconds' : 0,
}, **auth_joeblow)
self.assertEqual(resp.status_code, 403)
# see that in fact the room was not created
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
self.assertEqual(len(slot23), 0)
def test_createNewSlotSecretariat(self):
mtg83 = get_meeting(83)
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
self.assertEqual(len(slot23), 0)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# try to create a new room.
resp = self.client.post('/meeting/83/timeslots', {
'type' : 'plenary',
'name' : 'Workshop on Smart Object Security',
'time' : '2012-03-23',
'duration': '08:00:00',
}, **extra_headers)
self.assertEqual(resp.status_code, 302)
# see that in fact wlo can create a new timeslot
mtg83 = get_meeting(83)
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
self.assertEqual(len(slot23), 11)
def test_deleteNewSlotSecretariat(self):
mtg83 = get_meeting(83)
slot0 = mtg83.timeslot_set.all()[0]
# try to delete a new room
self.client.delete('/meeting/83/timeslot/%s.json' % (slot0.pk), **auth_wlo)
# see that in fact wlo can delete an existing room.
slot0n = mtg83.timeslot_set.filter(pk = slot0.pk)
self.assertEqual(len(slot0n), 0)
#
# AGENDA API
#
def test_getAgendaJson(self):
mtg83 = get_meeting(83)
a83 = mtg83.agenda
resp = self.client.get('/meeting/83/agendas/%s.json' % a83.name)
a83json = json.loads(resp.content)
self.assertNotEqual(a83json, None)
def test_createNewAgendaNonSecretariat(self):
mtg83 = get_meeting(83)
# try to create a new agenda
resp = self.client.post('/meeting/83/agendas', {
'type' : 'plenary',
'name' : 'Workshop on Smart Object Security',
'time' : '2012-03-23',
'duration_days' : 0,
'duration_hours': 8,
'duration_minutes' : 0,
'duration_seconds' : 0,
}, **auth_joeblow)
self.assertEqual(resp.status_code, 403)
# see that in fact the room was not created
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
self.assertEqual(len(slot23), 0)
def test_createNewAgendaSecretariat(self):
mtg83 = get_meeting(83)
a83 = mtg83.agenda
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# try to create a new agenda
resp = self.client.post('/meeting/83/agendas', {
'name' : 'fakeagenda1',
}, **extra_headers)
self.assertEqual(resp.status_code, 302)
# see that in fact wlo can create a new timeslot
mtg83 = get_meeting(83)
n83 = mtg83.schedule_set.filter(name='fakeagenda1')
self.assertNotEqual(n83, None)
def test_updateAgendaSecretariat(self):
mtg83 = get_meeting(83)
a83 = mtg83.agenda
self.assertTrue(a83.visible)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='application/json'
# try to create a new agenda
resp = self.client.put('/meeting/83/agendas/%s.json' % (a83.name),
data='visible=0',
content_type="application/x-www-form-urlencoded",
**extra_headers)
self.assertEqual(resp.status_code, 200)
# see that in fact wlo can create a new timeslot
mtg83 = get_meeting(83)
a83 = mtg83.agenda
self.assertFalse(a83.visible)
def test_deleteAgendaSecretariat(self):
mtg83 = get_meeting(83)
a83 = mtg83.agenda
self.assertNotEqual(a83, None)
# try to delete an agenda
resp = self.client.delete('/meeting/83/agendas/%s.json' % (a83.name), **auth_wlo)
self.assertEqual(resp.status_code, 200)
# see that in fact wlo can delete an existing room.
mtg83 = get_meeting(83)
a83c = mtg83.schedule_set.filter(pk = a83.pk).count()
self.assertEqual(a83c, 0)
self.assertEqual(mtg83.agenda, None)
#
# MEETING API
#
def test_getMeetingJson(self):
resp = self.client.get('/meeting/83.json')
m83json = json.loads(resp.content)
self.assertNotEqual(m83json, None)
def test_setMeetingAgendaNonSecretariat(self):
mtg83 = get_meeting(83)
self.assertNotEqual(mtg83.agenda, None)
# try to create a new agenda
resp = self.client.put('/meeting/83.json',
data="agenda=None",
content_type="application/x-www-form-urlencoded",
**auth_joeblow)
self.assertEqual(resp.status_code, 403)
self.assertNotEqual(mtg83.agenda, None)
def test_setMeetingAgendaNoneSecretariat(self):
mtg83 = get_meeting(83)
self.assertNotEqual(mtg83.agenda, None)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='application/json'
# try to create a new agenda
resp = self.client.post('/meeting/83.json',
data="agenda=None",
content_type="application/x-www-form-urlencoded",
**extra_headers)
self.assertEqual(resp.status_code, 200)
# new to reload the object
mtg83 = get_meeting(83)
self.assertEqual(mtg83.agenda, None)
def test_setMeetingAgendaSecretariatPublic(self):
mtg83 = get_meeting(83)
new_sched = mtg83.schedule_set.create(name="funny",
meeting=mtg83,
public=True,
owner=mtg83.agenda.owner)
self.assertNotEqual(mtg83.agenda, new_sched)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# try to create a new agenda
resp = self.client.put('/meeting/83.json',
data="agenda=%s" % new_sched.name,
content_type="application/x-www-form-urlencoded",
**extra_headers)
self.assertEqual(resp.status_code, 200)
# new to reload the object
mtg83 = get_meeting(83)
self.assertEqual(mtg83.agenda, new_sched)
def test_setNonPublicMeetingAgendaSecretariat(self):
mtg83 = get_meeting(83)
new_sched = mtg83.schedule_set.create(name="funny",
meeting=mtg83,
public=False,
owner=mtg83.agenda.owner)
self.assertNotEqual(mtg83.agenda, new_sched)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# try to create a new agenda
resp = self.client.put('/meeting/83.json',
data="agenda=%s" % new_sched.name,
content_type="application/x-www-form-urlencoded",
**extra_headers)
self.assertEqual(resp.status_code, 406)
# new to reload the object
mtg83 = get_meeting(83)
self.assertNotEqual(mtg83.agenda, new_sched)
def test_wlo_isSecretariatCanEditSched24(self):
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# check that wlo
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
'argv': '{"meeting_num":"83","schedule_id":"24"}'
}, **extra_headers)
m83perm = json.loads(resp.content)
self.assertEqual(m83perm['secretariat'], True)
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
self.assertEqual(m83perm['read_only'], False)
self.assertEqual(m83perm['write_perm'], True)
def test_joeblow_isNonUserCanNotSave(self):
extra_headers = auth_joeblow
extra_headers['HTTP_ACCEPT']='text/json'
# check that wlo
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
'argv': '{"meeting_num":"83","schedule_id":"24"}'
}, **extra_headers)
m83perm = json.loads(resp.content)
self.assertEqual(m83perm['secretariat'], False)
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
self.assertEqual(m83perm['read_only'], True)
self.assertEqual(m83perm['write_perm'], False)
def test_af_IsReadOnlySched24(self):
"""
This test case validates that despite being an AD, and having a login, a schedule
that does not belong to him will be marked as readonly.
"""
extra_headers = auth_ferrel
extra_headers['HTTP_ACCEPT']='text/json'
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
'argv': '{"meeting_num":"83","schedule_id":"24"}'
}, **extra_headers)
m83perm = json.loads(resp.content)
self.assertEqual(m83perm['secretariat'], False)
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
self.assertEqual(m83perm['read_only'], True)
self.assertEqual(m83perm['write_perm'], True)
self.assertEqual(resp.status_code, 200)
def test_wlo_isNonUserCanNotSave(self):
extra_headers = auth_joeblow
extra_headers['HTTP_ACCEPT']='text/json'
# check that wlo
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
'argv': '{"meeting_num":"83","schedule_id":"24"}'
}, **extra_headers)
m83perm = json.loads(resp.content)
self.assertEqual(m83perm['secretariat'], False)
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
self.assertEqual(m83perm['read_only'], True)
self.assertEqual(m83perm['write_perm'], False)
def test_setMeetingAgendaSecretariat(self):
mtg83 = get_meeting(83)
new_sched = mtg83.schedule_set.create(name="funny",
meeting=mtg83,
owner=mtg83.agenda.owner)
self.assertNotEqual(mtg83.agenda, new_sched)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# try to create a new agenda
resp = self.client.put('/meeting/83.json',
data="agenda=%s" % new_sched.name,
content_type="application/x-www-form-urlencoded",
**extra_headers)
self.assertEqual(resp.status_code, 200)
# new to reload the object
mtg83 = get_meeting(83)
self.assertEqual(mtg83.agenda, new_sched)
def test_noAuthenticationUpdatePinned(self):
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old timeslot value
self.assertEqual(ss_one.pinned, False)
# pin this session to this location
self.client.post('/dajaxice/ietf.meeting.update_timeslot_pinned/', {
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "pinned":"%u"}' % (ss_one.schedule.id, ss_one.id, 1)
})
# confirm that without login, it does not have new value
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.pinned, False)
def test_authenticationUpdatePinned(self):
ss_one = ScheduledSession.objects.get(pk=2371)
# confirm that it has old timeslot value
self.assertEqual(ss_one.pinned, False)
extra_headers = auth_wlo
extra_headers['HTTP_ACCEPT']='text/json'
# pin this session to this location
self.client.post('/dajaxice/ietf.meeting.update_timeslot_pinned/', {
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "pinned":"%u"}' % (ss_one.schedule.id, ss_one.id, 1)
}, **extra_headers)
# confirm that without login, it does not have new value
ss_one = ScheduledSession.objects.get(pk=2371)
self.assertEqual(ss_one.pinned, True)

View file

@ -1,49 +0,0 @@
from ietf.utils import TestCase
#from ietf.person.models import Person
from django.contrib.auth.models import User
from ietf.ietfauth.utils import has_role
# from http://djangosnippets.org/snippets/850/
auth_wlo = {'REMOTE_USER':'wnl'}
auth_ietfchair = {'REMOTE_USER':'rhousley'}
# this is a generic user who has no special role
auth_joeblow = {'REMOTE_USER':'joeblow'}
# this is user who is an AD
auth_ferrel = {'REMOTE_USER':'stephen.farrell@cs.tcd.ie'}
class AuthDataTestCase(TestCase):
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
perma_fixtures = [
'meeting83.json',
'constraint83.json',
'workinggroups.json',
'groupgroup.json',
'person.json', 'users.json' ]
def test_wlo_is_secretariat(self):
wnl = User.objects.filter(pk = 509)[0]
self.assertIsNotNone(wnl)
self.assertTrue(has_role(wnl, "Secretariat"))
def test_housley_is_ad(self):
rh = User.objects.filter(pk = 432)[0]
self.assertIsNotNone(rh)
self.assertTrue(has_role(rh, "Area Director"))
def test_ferrel_is_ad(self):
sf = User.objects.filter(pk = 491)[0]
self.assertIsNotNone(sf)
self.assertTrue(has_role(sf, "Area Director"))
def test_joeblow_is_mortal(self):
jb = User.objects.filter(pk = 99870)[0]
self.assertIsNotNone(jb)
self.assertFalse(has_role(jb, "Area Director"))
self.assertFalse(has_role(jb, "Secretariat"))

View file

@ -1,38 +0,0 @@
import re
from django.conf import settings
from ietf.utils import TestCase
from ietf.meeting.models import TimeSlot, Session, ScheduledSession
from auths import auth_joeblow, auth_wlo, auth_ietfchair, auth_ferrel
capture_output = False
class EditTestCase(TestCase):
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
perma_fixtures = [
'meeting83.json',
'constraint83.json',
'workinggroups.json',
'groupgroup.json',
'person.json', 'users.json' ]
def test_getEditData(self):
# confirm that we can get edit data from the edit interface
resp = self.client.get('/meeting/83/schedule/edit',{},
**auth_wlo)
m = re.search(".*session_obj.*", resp.content)
# to capture new output (and check it for correctness)
if capture_output:
out = open("%s/meeting/tests/edit_out.html" % settings.BASE_DIR, "w")
out.write(resp.content)
out.close()
self.assertIsNotNone(m)
def test_schedule_lookup(self):
from ietf.meeting.views import get_meeting
# determine that there isn't a schedule called "fred"
mtg = get_meeting(83)
sched83 = mtg.get_schedule_by_name("mtg:83")
self.assertIsNotNone(sched83, "sched83 not found")

View file

@ -1,15 +0,0 @@
import re
from ietf.utils.test_utils import SimpleUrlTestCase, canonicalize_feed
class MeetingUrlTestCase(SimpleUrlTestCase):
def testUrls(self):
self.doTestUrls(__file__)
def doCanonicalize(self, url, content):
if url.startswith("/feed/"):
return canonicalize_feed(content)
if "agenda" in url:
content = re.sub("<!-- v.*-->","", content)
content = re.sub('<a href="/release/.*?</a>','', content)
return content

View file

@ -1,32 +0,0 @@
302 /meeting/
200 /meeting/agenda/
200 /meeting/agenda-utc
200 /meeting/agenda/?_testiphone=1
200 /meeting/agenda.html
200 /meeting/agenda.txt
200 /meeting/75/agenda.html
200 /meeting/75/agenda.html?_testiphone=1
200 /meeting/75/agenda.txt
200 /meeting/75/materials.html
200 /meeting/75/materials.html?_testoverride=1
200 /meeting/75/agenda/mip4
404 /meeting/99/agenda.html
404 /meeting/99/agenda.txt
404 /meeting/99/materials.html
200 /feed/wg-proceedings/
200 /meeting/83/schedule/edit
200 /meeting/83/timeslots/edit
404 /meeting/83/timeslots/foobar
404 /meeting/83/schedule/doesnotexist
404 /meeting/83/schedule/doesnotexist/edit
200 /meeting/83/agenda.ics?APP,-~Other,-~Plenary
200 /meeting/83/agenda.html ietf/meeting/tests/agenda-83.html.good
200 /meeting/83/agenda-utc.html ietf/meeting/tests/agenda-83-utc.html.good
200 /meeting/83/agenda.txt ietf/meeting/tests/agenda-83.txt.good
200 /meeting/83/agenda.ics ietf/meeting/tests/agenda-83.ics.good
200 /meeting/83/agenda.csv ietf/meeting/tests/agenda-83.csv.good
200,skipdiff /meeting/83/rooms
200,skipdiff /meeting/83/room/206.json
200,skipdiff /meeting/83/timeslots
200,skipdiff /meeting/83/timeslot/2371.json
302 /meeting/83/agendas

View file

@ -1,48 +0,0 @@
from django.test import TestCase
from django.core.management import call_command
from django.db import transaction, connections, DEFAULT_DB_ALIAS
from django.test.testcases import connections_support_transactions, disable_transaction_methods
class AgendaTransactionalTestCase(TestCase):
"""
Does basically the same as TransactionTestCase, but surrounds every test
with a transaction, which is started after the fixtures are loaded.
"""
def _fixture_setup(self):
if not connections_support_transactions():
return super(TestCase, self)._fixture_setup()
# If the test case has a multi_db=True flag, setup all databases.
# Otherwise, just use default.
if getattr(self, 'multi_db', False):
databases = connections
else:
databases = [DEFAULT_DB_ALIAS]
if not TestCase.fixtures_loaded:
print "Loading agenda fixtures for the first time"
from django.contrib.sites.models import Site
Site.objects.clear_cache()
for db in databases:
# should be a no-op, but another test case method might have left junk.
call_command('flush', verbosity=0, interactive=False, database=db)
# BUG, if the set of fixtures changes between test cases,
# then it might not get reloaded properly.
if hasattr(self, 'fixtures'):
print " fixtures: %s" % (self.fixtures)
call_command('loaddata', *self.fixtures, **{
'verbosity': 0,
'commit': False,
'database': db
})
TestCase.fixtures_loaded = True
# now start a transaction.
for db in databases:
transaction.enter_transaction_management(using=db)
transaction.managed(True, using=db)
disable_transaction_methods()

View file

@ -1,33 +0,0 @@
from ietf.utils import TestCase
from ietf.person.models import Person
from ietf.meeting.models import Meeting, TimeSlot, Session, ScheduledSession
from ietf.meeting.models import Constraint
from ietf.group.models import Group
class UrlGenTestCase(TestCase):
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
perma_fixtures = [
'meeting83.json',
'constraint83.json',
'workinggroups.json',
'groupgroup.json',
'person.json', 'users.json' ]
def test_meetingGeneratesUrl(self):
mtg83 = Meeting.objects.get(pk=83)
self.assertEqual(mtg83.json_url(), "/meeting/83.json")
def test_constraintGeneratesUrl(self):
const1 = Constraint.objects.get(pk=21037)
self.assertEqual(const1.json_url(), "/meeting/83/constraint/21037.json")
def test_groupGeneratesUrl(self):
group1 = Group.objects.get(pk=1730)
self.assertEqual(group1.json_url(), "/group/roll.json")
def test_sessionGeneratesUrl(self):
sess1 = Session.objects.get(pk=22087)
self.assertEqual(sess1.json_url(), "/meeting/83/session/22087.json")

View file

@ -1,134 +0,0 @@
import re
from django.core.urlresolvers import reverse
from ietf.utils import TestCase
from ietf.meeting.models import TimeSlot, Session, ScheduledSession
from auths import auth_joeblow, auth_wlo, auth_ietfchair, auth_ferrel
from ietf.meeting.helpers import get_meeting
from ietf.meeting.views import edit_agenda
class ViewTestCase(TestCase):
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
perma_fixtures = [
'meeting83',
'constraint83',
'workinggroups',
'groupgroup',
'person', 'users' ]
def test_nameOfClueWg(self):
clue_session = Session.objects.get(pk=2194)
self.assertEqual(clue_session.short_name, "clue")
def test_nameOfIEPG(self):
iepg_session = Session.objects.get(pk=2288)
self.assertEqual(iepg_session.short_name, "IEPG Meeting")
def test_nameOfEdu1(self):
edu1_session = Session.objects.get(pk=2274)
self.assertEqual(edu1_session.short_name, "Tools for Creating Internet-Drafts Tutorial")
def test_js_identifier_clue(self):
iepg_ss = ScheduledSession.objects.get(pk=2413)
slot = iepg_ss.timeslot
self.assertEqual(slot.js_identifier, "252b_2012-03-27_0900")
def test_agenda_save(self):
#
# determine that there isn't a schedule called "fred"
mtg = get_meeting(83)
fred = mtg.get_schedule_by_name("fred")
self.assertIsNone(fred)
#
# move this session from one timeslot to another.
self.client.post('/meeting/83/schedule/edit', {
'savename': "fred",
'saveas': "saveas",
}, **auth_wlo)
#
# confirm that a new schedule has been created
fred = mtg.get_schedule_by_name("fred")
self.assertNotEqual(fred, None, "fred not found")
def test_agenda_edit_url(self):
url = reverse(edit_agenda,
args=['83', 'fred'])
self.assertEqual(url, "/meeting/83/schedule/fred/edit")
def test_agenda_edit_visible_farrel(self):
# farrel is an AD
url = reverse(edit_agenda,
args=['83', 'russ_83_visible'])
resp = self.client.get(url, **auth_ferrel)
# a visible agenda can be seen by any logged in AD/Secretariat
self.assertEqual(resp.status_code, 200)
def test_agenda_edit_visible_joeblow(self):
url = reverse(edit_agenda,
args=['83', 'russ_83_visible'])
resp = self.client.get(url, **auth_joeblow)
# a visible agenda can not be seen unless logged in
self.assertEqual(resp.status_code, 403)
def test_agenda_edit_visible_authwlo(self):
url = reverse(edit_agenda,
args=['83', 'russ_83_visible'])
resp = self.client.get(url, **auth_wlo)
# secretariat can always see things
self.assertEqual(resp.status_code, 200)
def test_agenda_edit_public_farrel(self):
# farrel is an AD
url = reverse(edit_agenda,
args=['83', 'mtg:83'])
resp = self.client.get(url, **auth_ferrel)
self.assertEqual(resp.status_code, 200) # a public agenda can be seen by any logged in AD/Secretariat
def test_agenda_edit_public_joeblow(self):
url = reverse(edit_agenda,
args=['83', 'mtg:83'])
resp = self.client.get(url, **auth_joeblow)
self.assertEqual(resp.status_code, 200) # a public agenda can be seen by unlogged in people (read-only) XXX
#self.assertEqual(resp.status_code, 403) # a public agenda can not be seen by unlogged in people
def test_agenda_edit_public_authwlo(self):
url = reverse(edit_agenda,
args=['83', 'mtg:83'])
resp = self.client.get(url, **auth_wlo)
self.assertEqual(resp.status_code, 200) # a public agenda can be seen by the secretariat
def test_agenda_edit_private_russ(self):
# farrel is an AD
url = reverse(edit_agenda,
args=['83', 'russ_83_inv'])
resp = self.client.get(url, **auth_ferrel)
# a private agenda can only be seen its owner
self.assertEqual(resp.status_code, 403) # even a logged in AD can not see another
def test_agenda_edit_private_farrel(self):
url = reverse(edit_agenda,
args=['83', 'sf_83_invisible'])
resp = self.client.get(url, **auth_ferrel)
self.assertEqual(resp.status_code, 200) # a private agenda can only be seen its owner XXX
def test_agenda_edit_private_joeblow(self):
url = reverse(edit_agenda,
args=['83', 'sf_83_invisible'])
resp = self.client.get(url, **auth_joeblow)
self.assertEqual(resp.status_code, 403) # a private agenda can not be seen by the public
def test_agenda_edit_private_authwlo(self):
url = reverse(edit_agenda,
args=['83', 'sf_83_invisible'])
self.assertEqual(url, "/meeting/83/schedule/sf_83_invisible/edit")
resp = self.client.get(url, **auth_wlo)
self.assertEqual(resp.status_code, 200) # secretariat can see any agenda, even a private one.

375
ietf/meeting/tests_api.py Normal file
View file

@ -0,0 +1,375 @@
import datetime, json
from urlparse import urlsplit
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse as urlreverse
from ietf.utils import TestCase
from ietf.person.models import Person
from ietf.group.models import Group
from ietf.meeting.models import Schedule, TimeSlot, Session, ScheduledSession, Meeting, Constraint
from ietf.meeting.helpers import get_meeting
from ietf.meeting.test_data import make_meeting_test_data
class ApiTests(TestCase):
def test_update_agenda_item(self):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
mars_scheduled = ScheduledSession.objects.get(session=session)
mars_slot = mars_scheduled.timeslot
ames_scheduled = ScheduledSession.objects.get(session__meeting=meeting, session__group__acronym="ames")
ames_slot = ames_scheduled.timeslot
def do_post(to):
# move this session from one timeslot to another
return self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
'argv': json.dumps({
"schedule_id": mars_scheduled.schedule.pk,
"session_id": session.pk,
"scheduledsession_id": to.pk if to else None,
})})
# faulty post - not logged in
r = do_post(to=ames_scheduled)
self.assertEqual(r.status_code, 200)
self.assertTrue("error" in json.loads(r.content))
self.assertEqual(ScheduledSession.objects.get(pk=mars_scheduled.pk).session, session)
# faulty post - logged in as non-owner
self.client.login(remote_user="ad")
r = do_post(to=ames_scheduled)
self.assertEqual(r.status_code, 200)
self.assertTrue("error" in json.loads(r.content))
# move to ames
self.client.login(remote_user="plain")
r = do_post(to=ames_scheduled)
self.assertEqual(r.status_code, 200)
self.assertTrue("error" not in json.loads(r.content))
self.assertEqual(ScheduledSession.objects.get(pk=mars_scheduled.pk).session, None)
self.assertEqual(ScheduledSession.objects.get(pk=ames_scheduled.pk).session, session)
# unschedule
self.client.login(remote_user="plain")
r = do_post(to=None)
self.assertEqual(r.status_code, 200)
self.assertTrue("error" not in json.loads(r.content))
self.assertEqual(ScheduledSession.objects.get(pk=ames_scheduled.pk).session, None)
def test_constraints_json(self):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").select_related("group").first()
c_ames = Constraint.objects.create(meeting=meeting, source=session.group,
target=Group.objects.get(acronym="ames"),
name_id="conflict")
c_person = Constraint.objects.create(meeting=meeting, source=session.group,
person=Person.objects.get(user__username="ad"),
name_id="bethere")
r = self.client.get(urlreverse("ietf.meeting.ajax.session_constraints", kwargs=dict(num=meeting.number, sessionid=session.pk)))
self.assertEqual(r.status_code, 200)
constraints = json.loads(r.content)
self.assertEqual(set([c_ames.pk, c_person.pk]), set(c["constraint_id"] for c in constraints))
def test_meeting_json(self):
meeting = make_meeting_test_data()
r = self.client.get(urlreverse("ietf.meeting.ajax.meeting_json", kwargs=dict(num=meeting.number)))
self.assertEqual(r.status_code, 200)
info = json.loads(r.content)
self.assertEqual(info["name"], meeting.number)
def test_get_room_json(self):
meeting = make_meeting_test_data()
room = meeting.room_set.first()
r = self.client.get(urlreverse("ietf.meeting.ajax.timeslot_roomurl", kwargs=dict(num=meeting.number, roomid=room.pk)))
self.assertEqual(r.status_code, 200)
info = json.loads(r.content)
self.assertEqual(info["name"], room.name)
def test_create_new_room(self):
meeting = make_meeting_test_data()
timeslots_before = meeting.timeslot_set.count()
url = urlreverse("ietf.meeting.ajax.timeslot_roomsurl", kwargs=dict(num=meeting.number))
post_data = { "name": "new room", "capacity": "50" }
# unauthorized post
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 302)
self.assertTrue(not meeting.room_set.filter(name="new room"))
# create room
self.client.login(remote_user="secretary")
r = self.client.post(url, post_data)
self.assertTrue(meeting.room_set.filter(name="new room"))
timeslots_after = meeting.timeslot_set.count()
self.assertEqual((timeslots_after - timeslots_before), (meeting.room_set.count() - 1) * timeslots_before)
def test_delete_room(self):
meeting = make_meeting_test_data()
room = meeting.room_set.first()
timeslots_before = list(room.timeslot_set.values_list("pk", flat=True))
url = urlreverse("ietf.meeting.ajax.timeslot_roomurl", kwargs=dict(num=meeting.number, roomid=room.pk))
# unauthorized delete
r = self.client.delete(url)
self.assertEqual(r.status_code, 302)
self.assertTrue(meeting.room_set.filter(pk=room.pk))
# delete
self.client.login(remote_user="secretary")
r = self.client.delete(url)
self.assertTrue(not meeting.room_set.filter(pk=room.pk))
self.assertTrue(not TimeSlot.objects.filter(pk__in=timeslots_before))
def test_group_json(self):
meeting = make_meeting_test_data()
group = Group.objects.get(acronym="mars")
url = urlreverse("ietf.group.ajax.group_json", kwargs=dict(acronym=group.acronym))
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
info = json.loads(r.content)
self.assertEqual(info["name"], group.name)
def test_person_json(self):
meeting = make_meeting_test_data()
person = Person.objects.get(user__username="ad")
url = urlreverse("ietf.person.ajax.person_json", kwargs=dict(personid=person.pk))
r = self.client.get(url)
info = json.loads(r.content)
self.assertEqual(info["name"], person.name)
def test_slot_json(self):
meeting = make_meeting_test_data()
slot = meeting.timeslot_set.all()[0]
url = urlreverse("ietf.meeting.ajax.timeslot_sloturl",
kwargs=dict(num=meeting.number, slotid=slot.pk))
r = self.client.get(url)
info = json.loads(r.content)
self.assertEqual(info["timeslot_id"], slot.pk)
def test_create_new_slot(self):
meeting = make_meeting_test_data()
slot_time = datetime.date.today()
url = urlreverse("ietf.meeting.ajax.timeslot_slotsurl",
kwargs=dict(num=meeting.number))
post_data = {
'type' : 'plenary',
'time' : slot_time.strftime("%Y-%m-%d"),
'duration': '08:00:00',
}
# unauthorized post
self.client.login(remote_user="ad")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 403)
# create room
self.client.login(remote_user="secretary")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 302)
self.assertTrue(meeting.timeslot_set.filter(time=slot_time))
def test_delete_slot(self):
meeting = make_meeting_test_data()
slot = meeting.timeslot_set.all()[0]
url = urlreverse("ietf.meeting.ajax.timeslot_sloturl",
kwargs=dict(num=meeting.number, slotid=slot.pk))
# unauthorized delete
self.client.login(remote_user="ad")
r = self.client.delete(url)
self.assertEqual(r.status_code, 403)
# delete
self.client.login(remote_user="secretary")
self.client.delete(url)
self.assertTrue(not meeting.timeslot_set.filter(pk=slot.pk))
def test_schedule_json(self):
meeting = make_meeting_test_data()
url = urlreverse("ietf.meeting.ajax.agenda_infourl",
kwargs=dict(num=meeting.number, schedule_name=meeting.agenda.name))
r = self.client.get(url)
info = json.loads(r.content)
self.assertEqual(info["schedule_id"], meeting.agenda.pk)
def test_create_new_schedule(self):
meeting = make_meeting_test_data()
url = urlreverse("ietf.meeting.ajax.agenda_infosurl",
kwargs=dict(num=meeting.number))
post_data = {
'name': 'new-agenda',
}
# unauthorized post
self.client.login(remote_user="plain")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 403)
self.assertTrue(not meeting.schedule_set.filter(name='new-agenda'))
# create new agenda
self.client.login(remote_user="secretary")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 302)
self.assertTrue(meeting.schedule_set.filter(name='new-agenda'))
def test_update_schedule(self):
meeting = make_meeting_test_data()
self.assertTrue(meeting.agenda.visible)
url = urlreverse("ietf.meeting.ajax.agenda_infourl",
kwargs=dict(num=meeting.number,
schedule_name=meeting.agenda.name))
post_data = {
'visible': 'false',
'name': 'new-test-name',
}
# unauthorized post
self.client.login(remote_user="plain")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 403)
# change agenda
self.client.login(remote_user="ad")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 302)
changed_schedule = Schedule.objects.get(pk=meeting.agenda.pk)
self.assertTrue(not changed_schedule.visible)
self.assertEqual(changed_schedule.name, "new-test-name")
def test_delete_schedule(self):
meeting = make_meeting_test_data()
url = urlreverse("ietf.meeting.ajax.agenda_infourl",
kwargs=dict(num=meeting.number,
schedule_name=meeting.agenda.name))
# unauthorized delete
self.client.login(remote_user="plain")
r = self.client.delete(url)
self.assertEqual(r.status_code, 403)
# delete
self.client.login(remote_user="secretary")
r = self.client.delete(url)
self.assertEqual(r.status_code, 200)
self.assertTrue(not Schedule.objects.filter(pk=meeting.agenda.pk))
def test_set_meeting_agenda(self):
meeting = make_meeting_test_data()
schedule = meeting.agenda
url = urlreverse("ietf.meeting.ajax.meeting_json",
kwargs=dict(num=meeting.number))
post_data = {
"agenda": "",
}
# unauthorized post
self.client.login(remote_user="ad")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 403)
# clear
self.client.login(remote_user="secretary")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 200)
self.assertTrue(not Meeting.objects.get(pk=meeting.pk).agenda)
# set agenda - first fail with non-public
post_data = {
"agenda": schedule.name,
}
schedule.public = False
schedule.save()
r = self.client.post(url, post_data)
self.assertTrue(r.status_code != 200)
self.assertTrue(not Meeting.objects.get(pk=meeting.pk).agenda)
# then go through with public
schedule.public = True
schedule.save()
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 200)
self.assertEqual(Meeting.objects.get(pk=meeting.pk).agenda, schedule)
def test_read_only(self):
meeting = make_meeting_test_data()
data = {
'argv': json.dumps({
"meeting_num": meeting.number,
"schedule_id": meeting.agenda.pk,
})}
# Secretariat
self.client.login(remote_user="secretary")
r = self.client.post('/dajaxice/ietf.meeting.readonly/', data)
self.assertEqual(r.status_code, 200)
info = json.loads(r.content)
self.assertEqual(info['secretariat'], True)
self.assertEqual(urlsplit(info['owner_href'])[2], "/person/%s.json" % meeting.agenda.owner_id)
self.assertEqual(info['read_only'], True)
self.assertEqual(info['write_perm'], True)
# owner
self.client.login(remote_user=meeting.agenda.owner.user.username)
r = self.client.post('/dajaxice/ietf.meeting.readonly/', data)
self.assertEqual(r.status_code, 200)
info = json.loads(r.content)
self.assertEqual(info['secretariat'], False)
self.assertEqual(info['read_only'], False)
self.assertEqual(info['write_perm'], False)
def test_update_timeslot_pinned(self):
meeting = make_meeting_test_data()
scheduled = ScheduledSession.objects.filter(
session__meeting=meeting, session__group__acronym="mars").first()
url = '/dajaxice/ietf.meeting.update_timeslot_pinned/'
post_data = {
'argv': json.dumps({
"schedule_id": meeting.agenda.pk,
"scheduledsession_id": scheduled.pk,
"pinned": True,
})}
# unauthorized post
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 200)
self.assertTrue("error" in json.loads(r.content))
self.assertTrue(not ScheduledSession.objects.get(pk=scheduled.pk).pinned)
# set pinned
meeting.agenda.owner = Person.objects.get(user__username="secretary")
meeting.agenda.save()
self.client.login(remote_user="secretary")
r = self.client.post(url, post_data)
self.assertEqual(r.status_code, 200)
self.assertTrue(ScheduledSession.objects.get(pk=scheduled.pk).pinned)

228
ietf/meeting/tests_views.py Normal file
View file

@ -0,0 +1,228 @@
import os, shutil, datetime
from django.core.urlresolvers import reverse as urlreverse
from django.conf import settings
from pyquery import PyQuery
from ietf.utils.mail import outbox
from ietf.utils.test_utils import login_testing_unauthorized
from ietf.utils import TestCase
from ietf.doc.models import Document
from ietf.group.models import Group
from ietf.meeting.models import Session, TimeSlot, ScheduledSession
from ietf.meeting.test_data import make_meeting_test_data
class MeetingTests(TestCase):
def setUp(self):
self.materials_dir = os.path.abspath("tmp-meeting-materials-dir")
if not os.path.exists(self.materials_dir):
os.mkdir(self.materials_dir)
settings.AGENDA_PATH = self.materials_dir
def tearDown(self):
if os.path.exists(self.materials_dir):
shutil.rmtree(self.materials_dir)
def write_materials_file(self, meeting, doc, content):
path = os.path.join(self.materials_dir, "%s/%s/%s" % (meeting.number, doc.type_id, doc.external_url))
dirname = os.path.dirname(path)
if not os.path.exists(dirname):
os.makedirs(dirname)
with open(path, "w") as f:
f.write(content)
def test_agenda(self):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
slot = TimeSlot.objects.get(scheduledsession__session=session)
time_interval = "%s-%s" % (slot.time.strftime("%H%M"), (slot.time + slot.duration).strftime("%H%M"))
# plain
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number)))
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
agenda_content = q("#agenda").html()
self.assertTrue(session.group.acronym in agenda_content)
self.assertTrue(session.group.name in agenda_content)
self.assertTrue(session.group.parent.acronym.upper() in agenda_content)
self.assertTrue(slot.location.name in agenda_content)
self.assertTrue(time_interval in agenda_content)
# mobile
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number)),
{ '_testiphone': "1" })
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
agenda_content = q("#agenda").html()
self.assertTrue(session.group.acronym in agenda_content)
self.assertTrue(session.group.name[:10] in agenda_content)
self.assertTrue(slot.location.name in agenda_content)
self.assertTrue(time_interval in agenda_content)
# text
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number, ext=".txt")))
self.assertEqual(r.status_code, 200)
agenda_content = r.content
self.assertTrue(session.group.acronym in agenda_content)
self.assertTrue(session.group.name in agenda_content)
self.assertTrue(session.group.parent.acronym.upper() in agenda_content)
self.assertTrue(slot.location.name in agenda_content)
self.assertTrue(time_interval in agenda_content)
# CSV
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number, ext=".csv")))
self.assertEqual(r.status_code, 200)
agenda_content = r.content
self.assertTrue(session.group.acronym in agenda_content)
self.assertTrue(session.group.name in agenda_content)
self.assertTrue(session.group.parent.acronym.upper() in agenda_content)
self.assertTrue(slot.location.name in agenda_content)
# iCal
r = self.client.get(urlreverse("ietf.meeting.views.ical_agenda", kwargs=dict(num=meeting.number))
+ "?" + session.group.parent.acronym.upper())
self.assertEqual(r.status_code, 200)
agenda_content = r.content
self.assertTrue(session.group.acronym in agenda_content)
self.assertTrue(session.group.name in agenda_content)
self.assertTrue(slot.location.name in agenda_content)
# week view
r = self.client.get(urlreverse("ietf.meeting.views.week_view", kwargs=dict(num=meeting.number)))
self.assertEqual(r.status_code, 200)
agenda_content = r.content
self.assertTrue(session.group.acronym in agenda_content)
self.assertTrue(slot.location.name in agenda_content)
def test_materials(self):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
draft = Document.objects.filter(type="draft", group=session.group).first()
self.write_materials_file(meeting, session.materials.get(type="agenda"),
"1. WG status (15 minutes)\n\n2. Status of %s\n\n" % draft.name)
self.write_materials_file(meeting, session.materials.get(type="minutes"),
"1. More work items underway\n\n2. The draft will be finished before next meeting\n\n")
self.write_materials_file(meeting, session.materials.get(type="slides"),
"This is a slideshow")
# session agenda
r = self.client.get(urlreverse("ietf.meeting.views.session_agenda",
kwargs=dict(num=meeting.number, session=session.group.acronym)))
self.assertEqual(r.status_code, 200)
self.assertTrue("1. WG status" in r.content)
# early materials page
r = self.client.get(urlreverse("ietf.meeting.views.current_materials"))
self.assertEqual(r.status_code, 302)
self.assertTrue(meeting.number in r["Location"])
r = self.client.get(urlreverse("ietf.meeting.views.materials", kwargs=dict(meeting_num=meeting.number)))
self.assertEqual(r.status_code, 200)
q = PyQuery(r.content)
row = q(".ietf-materials b:contains(\"%s\")" % session.group.acronym.upper()).closest("tr")
self.assertTrue(row.find("a:contains(\"Agenda\")"))
self.assertTrue(row.find("a:contains(\"Minutes\")"))
self.assertTrue(row.find("a:contains(\"Slideshow\")"))
# FIXME: missing tests of .pdf/.tar generation (some code can
# probably be lifted from similar tests in iesg/tests.py)
def test_feed(self):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
r = self.client.get("/feed/wg-proceedings/")
self.assertEqual(r.status_code, 200)
self.assertTrue("agenda" in r.content)
self.assertTrue(session.group.acronym in r.content)
class EditTests(TestCase):
def setUp(self):
# make sure we have the colors of the area
from ietf.group.colors import fg_group_colors, bg_group_colors
area_upper = "FARFUT"
fg_group_colors[area_upper] = "#333"
bg_group_colors[area_upper] = "#aaa"
def test_edit_agenda(self):
meeting = make_meeting_test_data()
self.client.login(remote_user="secretary")
r = self.client.get(urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number)))
self.assertEqual(r.status_code, 200)
self.assertTrue("session_obj" in r.content)
def test_save_agenda_as_and_read_permissions(self):
meeting = make_meeting_test_data()
url = urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number))
# save as
self.client.login(remote_user="ad")
r = self.client.post(url, {
'savename': "foo",
'saveas': "saveas",
})
self.assertEqual(r.status_code, 302)
# get
url = urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number, schedule_name="foo"))
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
schedule = meeting.get_schedule_by_name("foo")
schedule.visible = True
schedule.public = False
schedule.save()
# get as anonymous doesn't work
self.client.logout()
r = self.client.get(url)
self.assertEqual(r.status_code, 403)
# public, now anonymous works
schedule.public = True
schedule.save()
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
# Secretariat can always see it
schedule.visible = False
schedule.public = False
schedule.save()
self.client.login(remote_user="secretary")
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
def test_edit_timeslots(self):
meeting = make_meeting_test_data()
self.client.login(remote_user="secretary")
r = self.client.get(urlreverse("ietf.meeting.views.edit_timeslots", kwargs=dict(num=meeting.number)))
self.assertEqual(r.status_code, 200)
self.assertTrue(meeting.room_set.all().first().name in r.content)
def test_slot_to_the_right(self):
meeting = make_meeting_test_data()
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
mars_scheduled = session.scheduledsession_set.get()
mars_slot = TimeSlot.objects.get(scheduledsession__session=session)
mars_ends = mars_slot.time + mars_slot.duration
session = Session.objects.filter(meeting=meeting, group__acronym="ames").first()
ames_slot_qs = TimeSlot.objects.filter(scheduledsession__session=session)
ames_slot_qs.update(time=mars_ends + datetime.timedelta(seconds=11 * 60))
self.assertTrue(not mars_slot.slot_to_the_right)
self.assertTrue(not mars_scheduled.slot_to_the_right)
ames_slot_qs.update(time=mars_ends + datetime.timedelta(seconds=10 * 60))
self.assertTrue(mars_slot.slot_to_the_right)
self.assertTrue(mars_scheduled.slot_to_the_right)